![]() |
|
|
|
|
Problema 11Evidența orelor dintr-o şcoală se realizează prin intermediul tabelei Ore_curs cu structura Id_ora (N,5), Disciplina (T,50), Id_clasa (N,3), Id_prof (N,2), Ziua (T,10), Ora_start (N,2), unde Ora_start reprezintă ora la care începe desfăşurarea orei de curs.
c) Afişaţi orele de Informatica, ordonate după ziua şi ora de desfăşurare;
Rezolvare:
# a)
CREATE TABLE Ore_curs (
Id_ora INT(5),
Disciplina VARCHAR(50),
Id_clasa INT(3),
Id_prof INT(2),
Ziua VARCHAR(10),
Ora_start INT(2)
);
# b)
INSERT INTO Ore_curs (Id_ora, Disciplina, Id_clasa, Id_prof, Ziua, Ora_start)
VALUES
(464, 'Matematica', 34, 14, 'Marti', 8),
(568, 'Informatica', 12, 10, 'Luni', 9),
(521, 'Informatica', 12, 10, 'Joi', 9),
(744, 'Geografie', 24, 22, 'Joi', 10),
(12, 'Matematica', 24, 14, 'Marti', 11),
(230, 'Informatica', 11, 11, 'Vineri', 9);
SELECT * from Ore_curs;
# c)
SELECT * FROM Ore_curs
WHERE Disciplina = 'Informatica'
ORDER BY FIELD(Ziua, 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri'), Ora_start;
/*Explicație:
FIELD(Ziua, 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri') va ordona zilele săptămânii într-o ordine specifică.
*/
# d)
SELECT Disciplina, COUNT(*) AS Nr_ore
FROM Ore_curs
GROUP BY Disciplina
ORDER BY Nr_ore DESC;
/*Această interogare va număra câte ore sunt pentru fiecare disciplină și le va ordona descrescător în funcție de numărul de ore.*/
|
|
||||||||||||||||||||||||||||||||||||||||||
Copyright © 2016 Kalytheo