Documente Academic
Documente Profesional
Documente Cultură
/
*----------------------------------------------------------------------------------
--------*/
CREATE DATABASE universitate;
use universitate;
ALTER TABLE Reusita ADD CONSTRAINT dataDefault DEFAULT GETDATE() FOR dataNotarii
/
*----------------------------------------------------------------------------------
--------*/
/
*----------------------------------------------------------------------------------
--------*/
/*---1----*/
SELECT * FROM discipline
WHERE orePlan = 80 and idDisciplina > 5
/*---2----*/
SELECT idDisciplina, nume FROM Discipline
WHERE nume LIKE 'S%' ORDER BY idDisciplina DESC;
/*---3----*/
SELECT top(3) idDisciplina, nume, orePlan
FROM Discipline
ORDER BY orePlan ASC;
/*---4----*/
SELECT TOP 3 WITH TIES idDisciplina, nume, orePlan
FROM Discipline
ORDER BY orePlan ASC;
/*---5----*/
SELECT DISTINCT P.idProfesor AS IdProfesorP, R.idProfesor AS IdProfesorR, P.nume AS
NumeProfesor,
P.prenume AS PrenumeProfesor, R.idDisciplina AS
IdDisciplina, R.idGrupa AS IdGrupa
FROM Profesori AS P inner join Reusita AS R ON P.idProfesor = R.idProfesor
WHERE R.idGrupa = 1
/*---6----*/
SELECT DISTINCT P.idProfesor AS IdProfesorP, R.idProfesor AS IdProfesorR, P.nume AS
NumeProfesor,
P.prenume AS PrenumeProfesor, R.idDisciplina AS
IdDisciplina, R.idGrupa AS IdGrupa
FROM Profesori AS P full join Reusita AS R ON P.idProfesor = R.idProfesor
WHERE R.idGrupa = 1
ORDER BY P.idProfesor ASC;
/*---7----*/
SELECT DISTINCT D.nume AS 'Disciplina', P.nume AS 'NumeProfesor', P.prenume AS
'PrenumeProfesor'
FROM Discipline D cross join Profesori P
WHERE D.nume Like 'Practica%' and P.prenume Like 'A%'
ORDER BY P.nume;
/*---8----*/
SELECT idDisciplina, UPPER(nume)
FROM Discipline
/*---9----*/
SELECT idDisciplina, UPPER(nume) AS 'Nume Majuscule'
FROM Discipline
/*---10----*/
SELECT
AVG(orePlan) AS Media,
MAX(orePlan) AS Maximum,
MIN(orePlan) AS Minimum,
COUNT(orePlan) AS TotalDiscipline,
SUM(orePlan) AS Totalore
FROM Discipline
/*---11----*/
SELECT
P.nume AS NumeProfesor, P.prenume AS PrenumeProfesor,
AVG(D.orePlan) AS Media,
MAX(D.orePlan) AS Maximum,
MIN(D.orePlan) AS Minimum,
COUNT(D.orePlan) AS TotalDiscipline,
SUM(D.orePlan) AS Totalore
FROM Discipline D
join Reusita R ON D.idDisciplina = R.idDisciplina
join Profesori P ON R.idProfesor = P.idProfesor
Group BY P.nume, P.prenume ORDER BY NumeProfesor
/*---12----*/
SELECT G.cod AS Grupa, SUM(nota) AS Puncte
FROM Reusita R join Grupe G ON R.idGrupa = G.idGrupa
WHERE tip = 'examen'
GROUP BY g.cod
ORDER BY Puncte
/*---13----*/
SELECT G.cod AS Grupa, SUM(nota) AS Puncte
FROM Reusita R join Grupe G ON R.idGrupa = G.idGrupa
WHERE tip = 'examen'
GROUP BY g.cod having SUM(nota) > 240
ORDER BY Puncte
/*---14----*/
SELECT * FROM Discipline
WHERE orePlan = (SELECT MAX(orePlan) FROM Discipline)
/*---15----*/
SELECT idProfesor, nume, prenume FROM Profesori
WHERE idProfesor Not In
(SELECT DISTINCT idProfesor FROM Reusita
WHERE idGrupa in
(SELECT idGrupa FROM Grupe WHERE cod = 'ti171'))
/*---16----*/
SELECT idProfesor, nume, prenume FROM Profesori
WHERE not idProfesor = any
(SELECT DISTINCT idProfesor
FROM Reusita R join Grupe G ON R.idGrupa = G.idGrupa
WHERE cod = 'ti171');
/*---17----*/
SELECT idProfesor, nume, prenume FROM Profesori
WHERE idProfesor > ALL
(SELECT DISTINCT idProfesor
FROM Reusita R join Grupe G ON R.idGrupa = G.idGrupa
WHERE cod = 'ti171');
/*---18----*/
SELECT nume, prenume
FROM Profesori AS P WHERE exists
(SELECT * FROM Reusita WHERE idGrupa =
(SELECT idGrupa FROM Grupe WHERE cod = 'ti171')
and idProfesor = P.idProfesor);