Sunteți pe pagina 1din 21

use universitatea;

--1. Aflati toate datele despre grupele de studii de la facultate.

SELECT *

FROM [dbo].[grupe] AS [gru]

WHERE [gru].[Nume_Facultate] = 'Informatica si Cibernetica';

--2. Sa se obtina lista disciplinelor in ordine descrescatoare a numarului de ore.

SELECT *

FROM [dbo].[discipline] AS [dis]

ORDER BY [dis].[Nr_ore_plan_disciplina] DESC;

--3. Aflati cursurile (Disciplina) predate de fiecare profesor (Nume_Profesor, Prenume profesor)

-- sortate descrescator dupa nume si apoi prnume.

SELECT DISTINCT [dis].[Id_Disciplina], [dis].[Disciplina], [pro].[Id_Profesor], [pro].


[Nume_Profesor], [pro].[Prenume_Profesor]

FROM [dbo].[discipline] AS [dis]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Disciplina] = [dis].[Id_Disciplina]

INNER JOIN [dbo].[profesori] AS [pro]

ON [pro].[Id_Profesor] = [sr].[Id_Profesor]

ORDER BY [pro].[Nume_Profesor]DESC, [pro].[Prenume_Profesor] DESC

--4. Afisati care din discipline au denumirea formata din mai mult de 20 de caractere.

SELECT Id_Disciplina, Disciplina FROM discipline -- all discipl

SELECT Id_Disciplina, Disciplina

FROM [dbo].[discipline] AS [dis]

WHERE LEN([dis].[Disciplina]) > 20;


--5. Sa se afiseze lista studentilor al carora nume se termina cu "u".

SELECT *

FROM [dbo].[studenti] AS [stu]

WHERE [stu].[Nume_Student] LIKE '%a';

--6. Afisati numele si prenumele primelor 5 studentii care au obtinut note in ordine descrescatoare

-- la al doilea test la disciplina Baze de Date sa se foloseasca optiunea TOP...WITH TIES.

SELECT TOP 5 WITH TIES [stu].[Id_Student], [stu].[Nume_Student], [stu].[Prenume_Student],


[dis].[Disciplina], [sr].[Nota], [sr].[Tip_Evaluare]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [sr].[Tip_Evaluare] = 'Testul 2' AND [dis].[Disciplina] = 'Baze de date'

ORDER BY [sr].[Nota] DESC

--7. In ce grupa (Cod Grupa) invata studenti care care locuiesc pe strada 31 August.

SELECT DISTINCT [gr].[Cod_Grupa], [stu].[Nume_Student], [stu].[Prenume_Student], [stu].


[Adresa_Postala_Student]

FROM [dbo].[grupe] AS [gr]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Grupa] = [gr].[Id_Grupa]

INNER JOIN [dbo].[studenti] AS [stu]

ON [stu].Id_Student = [sr].[Id_Student]

WHERE [stu].[Adresa_Postala_Student] LIKE '%31 August%'


--select * FROM studenti

--WHERE Adresa_Postala_Student LIKE '%31 August%'

--8. Obtineti identificatori si numele studentilor, ale examenelor sustinute in anul 2018.

SELECT DISTINCT [stu].Id_Student, [stu].[Nume_Student], [stu].[Prenume_Student], [sr].


[Data_Evaluare]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].Id_Student = [stu].[Id_Student]

WHERE [sr].[Data_Evaluare] LIKE '2018%'

--select *

--FROM studenti_reusita

--WHERE Data_Evaluare LIKE '2018%'

--9. Gasiti numele, adresa studentilor si codul disciplinei la care studentii au avut cel putin

-- o nota in anul 2018.

SELECT DISTINCT [stu].[Nume_Student], [stu].[Prenume_Student], [stu].


[Adresa_Postala_Student], [sr].[Nota], [dis].[Id_Disciplina],[dis].[Disciplina]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].Id_Disciplina = [sr].[Id_Disciplina]

WHERE [sr].[Nota] IS NOT NULL


--10. Gasiti studentii (numele, prenumele), care au obtinut la disciplina Baze de Date (examen),

-- in anul 2018, vrio nota mai mica ca 8 si mai mare ca 4.

SELECT [stu].[Nume_Student], [stu].[Prenume_Student] ,[dis].[Disciplina],[sr].[Nota], [sr].


[Tip_Evaluare]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].Id_Disciplina = [sr].[Id_Disciplina]

WHERE [dis].[Disciplina] = 'Baze de date' AND [sr].[Tip_Evaluare] = 'Examen' AND [sr].[Nota]


BETWEEN 4 AND 8

select *

FROM studenti_reusita

--11. Furnizati numele si prenumele profesorilor, care au predat disciplina Baze de Date, in 2018,

-- si au evaluat vriun student cu nota nesatisfacatoare la reusita curenta.

SELECT DISTINCT [pro].[Id_Profesor], [pro].Nume_Profesor, [pro].[Prenume_Profesor]

FROM [dbo].[profesori] AS [pro]

INNER JOIN [dbo].studenti_reusita AS [sr]

ON [sr].Id_Profesor = [pro].Id_Profesor

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [sr].[Data_Evaluare] LIKE '2018%' AND [dis].[Disciplina] = 'Baze de date' AND [sr].[Nota]
<= '4'

--select * FROM profesori

--select * FROm studenti_reusita


--select * FROM discipline

--12. Furnizati, in evidenta (reusita) a studentilor cu prenumele Alex, urmatorele date: numele,

-- prenumele, denumirea disciplinei notele (inclusiv la probele intermediare) si anul care

-- au sustinut.

SELECT [stu].[Nume_Student], [stu].[Prenume_Student], [dis].[Disciplina], [sr].[Nota],[sr].


[Tip_Evaluare], [sr].[Data_Evaluare]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [stu].[Prenume_Student] = 'Alex'

--select * FROM studenti

--13. Aflati cursurile urmate de catre studentul Florea Ioan.

SELECT DISTINCT [stu].[Nume_Student], [stu].[Prenume_Student], [dis].[Disciplina]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [stu].[Nume_Student] = 'Florea' AND [stu].[Prenume_Student] = 'Ioan'

--14. Aflanti numele si prenumele studentilor, precum si cursurile promovate cu note mai mari de
-- 8 la examen.

SELECT [stu].[Nume_Student], [stu].[Prenume_Student], [dis].[Disciplina], [sr].


[Tip_Evaluare], [sr].[Nota]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [sr].[Tip_Evaluare] = 'Examen' AND [sr].[Nota] >= 8

--15. Aflati numele si prenumele studentilor, care au sustinut examenat atat la profesorul Ion,

-- cit si la profesorul Gheorghe in anul 2017 (folosit pentru nume clauza LIKE)

SELECT [stu].[Nume_Student], [stu].[Prenume_Student],[sr].[Tip_Evaluare],[pro].


[Nume_Profesor],[pro].[Prenume_Profesor]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[profesori] AS [pro]

ON [pro].[Id_Profesor] = [sr].[Id_Profesor]

WHERE [sr].[Data_Evaluare] LIKE '2017%' AND [sr].[Tip_Evaluare] Like 'Testul 2' AND [pro].
[Prenume_Profesor] LIKE 'Ion' --AND [pro].[Prenume_Profesor] LIKE '%Ion%'

UNION

SELECT [stu].[Nume_Student], [stu].[Prenume_Student],[sr].[Tip_Evaluare],[pro].


[Nume_Profesor],[pro].[Prenume_Profesor]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[profesori] AS [pro]

ON [pro].[Id_Profesor] = [sr].[Id_Profesor]
WHERE [sr].[Data_Evaluare] LIKE '2017%' AND [sr].[Tip_Evaluare] Like 'Testul 2' AND [pro].
[Prenume_Profesor] LIKE 'Tudor'

--[sr].[Data_Evaluare] LIKE '2017%' AND

select * FROM profesori --!!! IN anul 2017 profesori ion nu au avut examene iar
profesor cu prenumele george nu a predat

--16. Furnizati numele si prenumele studentilor, care au studiat discipline cu un volum de lectii

-- mai mic de 60 de ore, precum si profesori (identificatorii) respectivi, care le-au predat.

SELECT DISTINCT [stu].[Nume_Student], [stu].[Prenume_Student], [dis].[Disciplina], [dis].


[Nr_ore_plan_disciplina],[pro].[Id_Profesor],[pro].[Nume_Profesor],[pro].[Prenume_Profesor]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

INNER JOIN [dbo].[profesori] AS [pro]

ON [pro].[Id_Profesor] = [sr].[Id_Profesor]

WHERE [dis].[Nr_ore_plan_disciplina] <= '60'

--17. Afisati numele si prenumele profesorilor, care au predat cel putin o disciplina studentului

-- cu identificatorul 100.

SELECT DISTINCT [pro].[Nume_Profesor],[pro].[Prenume_Profesor], [dis].Disciplina, [stu].


[Id_Student], [stu].[Nume_Student],[stu].[Prenume_Student]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

INNER JOIN [dbo].[profesori] AS [pro]


ON [pro].[Id_Profesor] = [sr].[Id_Profesor]

WHERE [stu].[Id_Student] = '100'

--18. Afisati numele si prenumele profesorilor, care au predat doar discipline cu o incarcare orara

-- mai mica de 60 de ore.

SELECT DISTINCT [pro].[Nume_Profesor], [pro].[Prenume_Profesor], [dis].[Disciplina], [dis].


[Nr_ore_plan_disciplina]

FROM [dbo].[profesori] AS [pro]

INNER JOIN [dbo].studenti_reusita AS [sr]

ON [sr].Id_Profesor = [pro].Id_Profesor

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [dis].[Nr_ore_plan_disciplina] <= '60'

--19. Gasiti numele si prenumele profesorilor, care au predat disciplina, in care studentul

-- "Cosovanu" a fost respins (nota < 5) la cel putin o proba.

SELECT [pro].[Nume_Profesor], [pro].[Prenume_Profesor], [dis].[Disciplina], [sr].[Tip_Evaluare],


[sr].[Nota], [stu].[Nume_Student], [stu].[Prenume_Student]

FROM [dbo].[profesori] AS [pro]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Profesor] = [pro].[Id_Profesor]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

INNER JOIN [dbo].[studenti] AS [stu]

ON [stu].[Id_Student] = [sr].[Id_Student]

WHERE [stu].[Nume_Student] = 'Cosovanu' AND [sr].[Nota] < = '4'


--20. Afisati numarul de studenti care au sustinut testul (Testul 2) la disciplina Baze de Date

-- in 2018.

SELECT COUNT([stu].[Id_Student]) --Nume_Student,Prenume_Student,Disciplina,Tip_Evaluare


--COUNT([stu].[Id_Student])

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [sr].[Tip_Evaluare] = 'Testul 2'

--21. Cite note are fiecar student? Furnizati numele si prenumele lor.

SELECT [stu].[Nume_Student], [stu].[Prenume_Student], NrNote =

(SELECT COUNT ([sr].[Nota])

FROM [dbo].[studenti_reusita] AS [sr]

WHERE [sr].[Id_Student] = [stu].[Id_Student])

FROM [dbo].[studenti] AS [stu]

--ex de demonstrat nota unui student

SELECT [stu].Nume_Student, [stu].[Prenume_Student], [sr].[Nota], [sr].[Tip_Evaluare] --[dis].


[Disciplina]

FROM [dbo].[studenti] AS [stu]

LEFT JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

WHERE [stu].[Nume_Student] = 'Brasovianu'

--22. Sa se obtina numarul de discipline predate de fiecare profesor (Nume_Profesor,


Prenume_profesor).
SELECT [pro].[Id_Profesor], [pro].[Nume_Profesor], [pro].[Prenume_Profesor],
[NrDisciplinePredate] = (

SELECT DISTINCT COUNT([dis].[Id_Disciplina] )

FROM [dbo].[discipline] AS [dis]

WHERE [dis].[Id_Disciplina] IN (

SELECT [sr].[Id_Disciplina]

FROM [dbo].[studenti_reusita] AS [sr]

WHERE [sr].[Id_Profesor] = [pro].[Id_Profesor] ))

FROM [dbo].[profesori] AS [pro]

-- exaple true

SELECT DISTINCT [pro].[Nume_Profesor], [pro].[Prenume_Profesor], [dis].[Id_Disciplina], [dis].


[Disciplina]

FROM [dbo].[profesori] AS [pro]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Profesor] = [pro].[Id_Profesor]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [pro].[Nume_Profesor] = 'Popescu'

select Id_Disciplina From discipline

select * From profesori

--23. Sa se obtina lista disciplinelor (Disciplina) sustinute de de studentii cu nota medie de

-- promovare la examen mai mare de 7, in ordine descrescatoare dupa denumirea disciplineis.

SELECT [dis].[Disciplina], [sr].[Tip_Evaluare], [sr].[Nota], [stu].[Nume_Student], [stu].


[Prenume_Student]

FROM [dbo].[discipline] AS [dis]


INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Disciplina] = [dis].[Id_Disciplina]

INNER JOIN [dbo].[studenti] AS [stu]

ON [stu].Id_Student = [sr].[Id_Student]

WHERE [sr].[Tip_Evaluare] = 'Examen' AND [sr].[Nota] >= 7

--AND [sr].[Nota] >= 7

SELECT [Disciplina], AVG([Nota]) AS [NotaMedie], [Tip_Evaluare]

FROM (SELECT [dis].[Disciplina], [sr].[Nota], [sr].[Tip_Evaluare]

FROM [dbo].[studenti_reusita] AS [sr] INNER JOIN [dbo].[discipline] AS [dis] ON [dis].


[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [sr].[Tip_Evaluare] = 'Examen'

) AS TEMPTable

GROUP BY [Disciplina], [Tip_Evaluare]

HAVING AVG([Nota]) > 5

--select

SELECT [dis].[Id_Disciplina], [dis].[Disciplina], [sr].[Tip_Evaluare],[sr].[Nota], [stu].[Id_Student],


[stu].[Nume_Student], [stu].[Prenume_Student]

FROM [dbo].[discipline] AS [dis]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Disciplina] = [dis].[Id_Disciplina]

INNER JOIN [dbo].[studenti] AS [stu]

ON [stu].[Id_Student] = [sr].[Id_Student]

INNER JOIN [dbo].[grupe] AS [gru]

ON [gru].[Id_Grupa] = [sr].[Id_Grupa]
WHERE [sr].[Tip_Evaluare] = 'Examen' AND [gru].[Cod_Grupa] = 'TI171' AND [dis].[Disciplina] =
'Baze de date'

select * FROM grupe

--24. Sa se afiseze lista disciplinelor(Disciplina)predta de cel putin doi profesori.

SELECT [Disciplina], COUNT([Id_Profesor]) AS NrProfesori

FROM (SELECT DISTINCT [dis].[Disciplina], [sr].[Id_Profesor]

FROM [dbo].[studenti_reusita] AS [sr] JOIN [dbo].[discipline] AS [dis] ON


[sr].Id_Disciplina = [dis].[Id_Disciplina]

) AS TEMPTable

GROUP BY [Disciplina]

HAVING COUNT(Id_Profesor) >1

-- exaple work 24

SELECT DISTINCT [dis].[Id_Disciplina], [dis].[Disciplina], [pro].[Id_Profesor], [pro].


[Nume_Profesor], [pro].[Prenume_Profesor]

FROM [dbo].[discipline] AS [dis]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Disciplina] = [dis].[Id_Disciplina]

INNER JOIN [dbo].[profesori] AS [pro]

ON [pro].[Id_Profesor] = [sr].[Id_Profesor]

WHERE [dis].[Id_Disciplina] = 118 --108

--25. In ce grupe de studii (Cod_Grupa) figureaza mai mult de 24 de studenti.


SELECT DISTINCT [Cod_Grupa], COUNT([Id_Student]) AS [NrStudenti]

FROM (SELECT DISTINCT [gru].[Cod_Grupa],[sr].[Id_Student]

FROM [dbo].[grupe] AS [gru]

JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Grupa] = [gru].[Id_Grupa]

--JOIN [dbo].[studenti] AS [stu] ON [stu].[Id_Student] = [sr].[Id_Student]

) AS TEMPTable

GROUP BY [Cod_Grupa]

HAVING COUNT(Id_Student) > 24

-- exemplul dat ne arata citi studenti are o grupa anumita

SELECT DISTINCT [gru].[Id_Grupa], [gru].[Cod_Grupa], [stu].[Id_Student], [stu].[Nume_Student],


[stu].[Prenume_Student]

FROM [dbo].[grupe] AS [gru]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Grupa] = [gru].[Id_Grupa]

INNER JOIN [dbo].[studenti] AS [stu] ON [stu].[Id_Student] = [sr].[Id_Student]

WHERE [gru].[Id_Grupa] = 2

--26. Gasiti numele, prenumele si adresele studentilor si ale profesorilor care locuiesc pe

-- strada 31 August.

SELECT [stu].[Nume_Student],[stu].[Prenume_Student], [ocupatia] = 'student'

FROM [dbo].[studenti] AS [stu]

WHERE [stu].[Adresa_Postala_Student] LIKE '%Chisinau%' --LIKE '%31 August%'

UNION

SELECT [pro].[Nume_Profesor],[pro].[Prenume_Profesor], [ocupatia] = 'profesor'

FROM [dbo].[profesori] AS [pro]

WHERE [pro].[Adresa_Postala_Profesor] LIKE '%Chisinau%' --LIKE '%31 August%'

--27. Aflati studentii (identificatorii) care au sustinut (evaluarea examen) la toate disciplinele

-- de profesorul Ion.
SELECT [stu].[Id_Student], [stu].Nume_Student, [stu].[Prenume_Student], [sr].[Nota], [sr].
[Tip_Evaluare], [dis].[Disciplina], [pro].[Id_Profesor], [pro].[Nume_Profesor], [pro].[Prenume_Profesor]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr]

ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[profesori] AS [pro]

ON [pro].[Id_Profesor] = [sr].[Id_Profesor]

INNER JOIN [dbo].[discipline] AS [dis]

ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [pro].[Prenume_Profesor] = 'Ion' AND [sr].[Tip_Evaluare] = 'Examen'

--28. Gasiti numele prenumele si media grupei studentilor care au sustinut toate disciplinele

-- predate de profesori care locuiesc pe strada 31 August.

SELECT DISTINCT [stu].[Nume_Student],[stu].[Prenume_Student], [Media] = (

SELECT AVG([sr].[Nota])

FROM [dbo].[studenti_reusita] AS [sr]

WHERE [sr].[Id_Student] = [stu].[Id_Student]

) ,[dis].[Id_Disciplina], [dis].[Disciplina], [pro].[Id_Profesor], [pro].[Nume_Profesor],


[pro].[Prenume_Profesor], [pro].[Adresa_Postala_Profesor]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[profesori] AS [pro] ON [pro].[Id_Profesor] = [sr].[Id_Profesor]

INNER JOIN [dbo].[discipline] AS [dis] ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [pro].[Adresa_Postala_Profesor] LIKE '%bd. Dacia%'


--29. Determinati numele si prenumele studentilor, care au sustinut examene cu o nota mai mica

-- decit oricare dintre notele studentilor cu identificatorul 100.

SELECT [stu].[Nume_Student], [stu].[Prenume_Student], [sr].[Nota], [sr].[Tip_Evaluare], [dis].


[Disciplina] --[sr].[Nota])

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].Id_Student = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis] ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [sr].[Tip_Evaluare] = 'Examen' AND [sr].[Nota] < = (

SELECT MIN([sr].[Nota])

FROM [dbo].[studenti_reusita] AS [sr]

WHERE [sr].[Id_Student] = 100 --AND [sr].[Tip_Evaluare] = 'Examen'

-- ex nota medie la studentu cu id = 100

select Nume_Student, Prenume_Student, min(Nota)

from studenti as stu

INNER JOIN studenti_reusita as sr ON sr.[Id_Student] = stu.Id_Student

where stu.Id_Student = 100 AND [sr].[Tip_Evaluare] = 'Examen'

group by Nume_Student,Prenume_Student

--30. Cati studenti au studiat, deja disciplina Baze de Date in 2018 si 2019 si care este media

-- lor la reusita curenta?

SELECT DISTINCT COUNT([stu].[Id_Student]) AS [NrStudenti]--, [sr].[Data_Evaluare]

--[stu].[Id_Student], [stu].[Nume_Student], [stu].


[Prenume_Student], [dis].[Disciplina], [sr].[Tip_Evaluare], [sr].[Nota], [sr].[Data_Evaluare]

FROM [dbo].[studenti_reusita] AS [sr]

INNER JOIN [dbo].[discipline] AS [dis] ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

INNER JOIN [dbo].[studenti] AS [stu] ON [stu].[Id_Student] = [sr].[Id_Student]


WHERE [dis].[Disciplina] = 'Baze de Date' AND [sr].[Data_Evaluare] > '2018-01-01' AND [sr].
[Data_Evaluare] < '2018-12-31'

--GROUP BY [sr].[Data_Evaluare]

UNION

SELECT DISTINCT COUNT([stu].[Id_Student]) AS [NrStudenti], [sr].[Data_Evaluare]

--[stu].[Id_Student], [stu].[Nume_Student], [stu].


[Prenume_Student], [dis].[Disciplina], [sr].[Tip_Evaluare], [sr].[Nota], [sr].[Data_Evaluare]

FROM [dbo].[studenti_reusita] AS [sr]

INNER JOIN [dbo].[discipline] AS [dis] ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

INNER JOIN [dbo].[studenti] AS [stu] ON [stu].[Id_Student] = [sr].[Id_Student]

WHERE [dis].[Disciplina] = 'Baze de Date' AND [sr].[Data_Evaluare] Like '2017%'

GROUP BY [sr].[Data_Evaluare]

--!! studenti in anul 2019 nu sunt care studiaza bd si probleme cu anul grupare

--31. Furnizati numele si prenumele studentilor, care au avut mai mult de doua dezaprobari intr-un

-- an la o disciplina.

SELECT [stu].[Nume_Student], [stu].[Prenume_Student], [dis].[Disciplina], [sr].[Tip_Evaluare],


[sr].[Nota]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis] ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [sr].[Nota] < = 4 AND [sr].[Data_Evaluare] LIKE '2018%'

--!! de derminat cel putin 2 note negative la un obiec la un singur student

--32. Furnizati numele, prenumel si media notelor pe grupe pentru studenti.

SELECT DISTINCT [gru].[Cod_Grupa], [stu].[Nume_Student], [stu].[Prenume_Student],


[MediaNotelor] = (

SELECT AVG([sr].[Nota])
FROM [dbo].[studenti_reusita] AS [sr]

WHERE [sr].[Id_Student] = [stu].[Id_Student] )

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[grupe] AS [gru] ON [gru].[Id_Grupa] = [sr].[Id_Grupa]

ORDER BY [gru].[Cod_Grupa], [stu].[Nume_Student], [stu].[Prenume_Student]

--example with true

SELECT DISTINCT AVG([sr].[Nota])

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[grupe] AS [gru] ON [gru].[Id_Grupa] = [sr].[Id_Grupa]

WHERE [stu].[Id_Student] = 100

--33. Gasiti numele si prenumele studentilor, care nu au luat nota de promovare la reusita curenta

-- la nici o disciplina.

SELECT [stu].[Id_Student], [stu].[Nume_Student], [stu].[Prenume_Student], [dis].[Disciplina],


[sr].[Tip_Evaluare], [sr].[Nota]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis] ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [sr].[Tip_Evaluare] = 'Reusita curenta' AND [sr].[Nota] < = 4

--34. Gasiti numele si prenumele studentilor, care nu au luat note de promovare (inclusiv note

-- intermediare) la nici o disciplina.

--SELECT [stu].[Nume_Student], [stu].[Prenume_Student], [sr].[Nota], [sr].[Tip_Evaluare]

--FROM [dbo].[studenti] AS [stu]

--INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Student] = [stu].[Id_Student]


--INNER JOIN [dbo].[discipline] AS [dis] ON [sr].[Id_Disciplina] = [dis].[Id_Disciplina]

--WHERE [sr].[Nota]

--35. Gasiti denumirile disciplinelor si media notelor pe disciplina. Afisati numai disciplinel

-- cu media mai mare de 7.0.

SELECT DISTINCT [dis].[Disciplina], AVG([sr].[Nota]) AS [nota]

FROM [dbo].[discipline] AS [dis]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Disciplina] = [dis].[Id_Disciplina]

GROUP BY [dis].[Disciplina]

--36. Gasiti numele prenumele si adresele studentilor si ale profesorelor care locuiesc intr-o

-- localitate. Sa se afiseze denumirea localitatii si numarul de locuitori inclusi inclusi in

-- cele doua categori. Datele se afiseaza in ordine crescatoare a numarului membrilor din

-- categoria mentionata anterior.

--37. Gasiti disciplina sustinuta de studenti cu nota medie (la examen) ce mai inalta.

SELECT [dis].[Disciplina] ,[sr].[Tip_Evaluare], notaMedie = (

SELECT AVG([sr1].[Nota])

FROM [dbo].[studenti_reusita] AS [sr1]

WHERE [sr1].[Id_Disciplina] = [dis].[Id_Disciplina]

--, AVG([sr].[Nota]) AS [nota]

FROM [dbo].[discipline] AS [dis]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Disciplina] = [dis].[Id_Disciplina]

WHERE [dis].[Disciplina] = 'Baze de Date' AND [sr].[Tip_Evaluare] = 'Examen'

--GROUP BY [dis].[Disciplina]

/*HAVING AVG([sr].[Nota]) > (


SELECT AVG([sr1].[Nota] )

FROM [dbo].[studenti_reusita] AS [sr1]

--WHERE [sr1].[Tip_Evaluare] = 'Examen'

)*/

--38. Furnizati denumirile disciplinelor cu o medie mai mica decit media notelor de la disciplina

-- Baze de Date.

SELECT [dis].[Disciplina], AVG([sr].[Nota]) AS 'NotaMedie'

FROM [dbo].[discipline] AS [dis]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Disciplina] = [dis].[Id_Disciplina]

GROUP BY [dis].[Disciplina]

HAVING [dis].[Disciplina] != 'Baze de Date' AND AVG([sr].[Nota]) < = (

SELECT AVG([sr1].[Nota])

FROM [dbo].[studenti_reusita] AS [sr1]

INNER JOIN [dbo].[discipline] AS [dis1] ON [dis1].[Id_Disciplina] = [sr1].[Id_Disciplina]

WHERE [dis1].[Disciplina] = 'Baze de Date'

--!!disciplin cu media notelor mai mica ca media notelor la bd nu sunt

SELECT AVG([sr1].[Nota])

FROM [dbo].[studenti_reusita] AS [sr1]

INNER JOIN [dbo].[discipline] AS [dis1] ON [dis1].[Id_Disciplina] = [sr1].[Id_Disciplina]

WHERE [dis1].[Disciplina] = 'Asamblare si depanare PC'

select * FROM discipline

--39. Gasiti denumirile disciplinelor la care nu au sustinut examenul, in medie, peste 5% de studenti.
-- exerciti sustinere

SELECT *

FROM [dbo].[studenti] AS [stu]

WHERE [stu].[Nume_Student] LIKE '%u'

SELECT DISTINCT [pro].[Id_Profesor], [pro].[Nume_Profesor], [pro].[Prenume_Profesor], [dis].[Disciplina]

FROM [dbo].[profesori] AS [pro]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Profesor] = [pro].[Id_Profesor]

INNER JOIN [dbo].[discipline] AS [dis] ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

WHERE [dis].[Disciplina] = 'Baze de Date' AND [sr].[Data_Evaluare] LIKE '%2018%' AND [sr].[Nota] < 4

SELECT [stu].[Id_Student], [stu].[Nume_Student], [stu].[Prenume_Student], [dis].[Disciplina], [sr].


[Tip_Evaluare], [pro].[Id_Profesor], [pro].[Nume_Profesor], [pro].[Prenume_Profesor]

FROM [dbo].[studenti] AS [stu]

INNER JOIN [dbo].[studenti_reusita] AS [sr] ON [sr].[Id_Student] = [stu].[Id_Student]

INNER JOIN [dbo].[discipline] AS [dis] ON [dis].[Id_Disciplina] = [sr].[Id_Disciplina]

INNER JOIN [dbo].[profesori] AS [pro] ON [pro].[Id_Profesor] = [sr].[Id_Profesor]

WHERE [sr].[Tip_Evaluare] = 'Examen' AND [pro].[Prenume_Profesor] = 'Ion'


SELECT DISTINCT stu.Id_Student, stu.Nume_Student, stu.Prenume_Student, sr.Nota, sr.Tip_Evaluare,
dis.Disciplina, pro.Id_Profesor, pro.Nume_Profesor, pro.Prenume_Profesor

FROM studenti AS stu

INNER JOIN studenti_reusita AS sr ON sr.Id_Student = stu.Id_Student

INNER JOIN discipline AS dis ON dis.Id_Disciplina = sr.Id_Disciplina

INNER JOIN profesori AS pro ON pro.Id_Profesor = sr.Id_Profesor

WHERE dis.Disciplina = 'Baze de date' AND sr.Tip_Evaluare = 'Examen'

S-ar putea să vă placă și

  • Baze de Date Laborator 4 UTM
    Baze de Date Laborator 4 UTM
    Document13 pagini
    Baze de Date Laborator 4 UTM
    ViorelRotari
    100% (1)
  • Lab 1 SDA Var 10
    Lab 1 SDA Var 10
    Document6 pagini
    Lab 1 SDA Var 10
    Vladimir Zgardan
    Încă nu există evaluări
  • Raspunsuri AMSI
    Raspunsuri AMSI
    Document11 pagini
    Raspunsuri AMSI
    Cristina Florea
    Încă nu există evaluări
  • TAP Lab5 Popov Biatrice CR 191
    TAP Lab5 Popov Biatrice CR 191
    Document6 pagini
    TAP Lab5 Popov Biatrice CR 191
    Alina Axenti
    Încă nu există evaluări
  • Cerinte Rezolvate BDA Ianuarie 2009
    Cerinte Rezolvate BDA Ianuarie 2009
    Document4 pagini
    Cerinte Rezolvate BDA Ianuarie 2009
    Cosmina B
    Încă nu există evaluări
  • Baze de Data Lab4
    Baze de Data Lab4
    Document2 pagini
    Baze de Data Lab4
    DanuIepuras
    0% (1)
  • Proiect de Curs BD Exemplu-Unlocked
    Proiect de Curs BD Exemplu-Unlocked
    Document60 pagini
    Proiect de Curs BD Exemplu-Unlocked
    Amarfii Sergiu
    Încă nu există evaluări
  • AI-191 Medinschi Ion SO4
    AI-191 Medinschi Ion SO4
    Document5 pagini
    AI-191 Medinschi Ion SO4
    Carolin
    Încă nu există evaluări
  • Lab1 Somipp
    Lab1 Somipp
    Document14 pagini
    Lab1 Somipp
    Jen4ik
    100% (1)
  • SarcinaLaborator 1
    SarcinaLaborator 1
    Document1 pagină
    SarcinaLaborator 1
    Amarfii Sergiu
    Încă nu există evaluări
  • Grafica Pe Calculator Lab 1 Java
    Grafica Pe Calculator Lab 1 Java
    Document4 pagini
    Grafica Pe Calculator Lab 1 Java
    Calc 182
    Încă nu există evaluări
  • SOMIPP Labs
    SOMIPP Labs
    Document107 pagini
    SOMIPP Labs
    Ionel Boaghe
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document6 pagini
    Lab 4
    violina
    Încă nu există evaluări
  • Lab 1 GC
    Lab 1 GC
    Document4 pagini
    Lab 1 GC
    Ion Popescu
    Încă nu există evaluări
  • PSI Lab 3
    PSI Lab 3
    Document10 pagini
    PSI Lab 3
    Nicolae
    Încă nu există evaluări
  • Lab3 AMOO
    Lab3 AMOO
    Document7 pagini
    Lab3 AMOO
    Сергей Борта
    Încă nu există evaluări
  • Lab 1 PMMA
    Lab 1 PMMA
    Document3 pagini
    Lab 1 PMMA
    BatiriMichael
    Încă nu există evaluări
  • Somipp Linux 1 UTM
    Somipp Linux 1 UTM
    Document10 pagini
    Somipp Linux 1 UTM
    Cristi Poselețchi
    Încă nu există evaluări
  • Lista Subiecte Examen
    Lista Subiecte Examen
    Document1 pagină
    Lista Subiecte Examen
    Ion Popescu
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document9 pagini
    Lab 1
    Fil Gorea
    Încă nu există evaluări
  • 4rc ProgramareaInReteaI-1
    4rc ProgramareaInReteaI-1
    Document48 pagini
    4rc ProgramareaInReteaI-1
    Georgiana Roman
    Încă nu există evaluări
  • LL4 BD
    LL4 BD
    Document6 pagini
    LL4 BD
    Anya Mr
    Încă nu există evaluări
  • Laboratorul 5
    Laboratorul 5
    Document7 pagini
    Laboratorul 5
    ion
    Încă nu există evaluări
  • PCAD
    PCAD
    Document4 pagini
    PCAD
    Fiodor Ciumac
    Încă nu există evaluări
  • Laborator 1 Cucu Eugeniu
    Laborator 1 Cucu Eugeniu
    Document5 pagini
    Laborator 1 Cucu Eugeniu
    Cucu Eugen
    Încă nu există evaluări
  • Somipp Linux 3 UTM
    Somipp Linux 3 UTM
    Document7 pagini
    Somipp Linux 3 UTM
    Cristi Poselețchi
    Încă nu există evaluări
  • Proiect de Curs BDC
    Proiect de Curs BDC
    Document27 pagini
    Proiect de Curs BDC
    Ion Boika
    Încă nu există evaluări
  • Lab.6 FC
    Lab.6 FC
    Document3 pagini
    Lab.6 FC
    Cristina Florea
    Încă nu există evaluări
  • Raspunsuri EP II 01-28
    Raspunsuri EP II 01-28
    Document8 pagini
    Raspunsuri EP II 01-28
    Poloboc
    Încă nu există evaluări
  • Laboratorul 1
    Laboratorul 1
    Document9 pagini
    Laboratorul 1
    Tina Cris
    Încă nu există evaluări
  • Somipplaba5 (Ru)
    Somipplaba5 (Ru)
    Document99 pagini
    Somipplaba5 (Ru)
    Maria Sevciuc
    0% (1)
  • LL1 Baze de Date
    LL1 Baze de Date
    Document10 pagini
    LL1 Baze de Date
    Anya Mr
    Încă nu există evaluări
  • ASAD Lab03 Raport
    ASAD Lab03 Raport
    Document6 pagini
    ASAD Lab03 Raport
    Mihai U
    Încă nu există evaluări
  • Laboratorul 7 PC
    Laboratorul 7 PC
    Document36 pagini
    Laboratorul 7 PC
    Petrea Trofim
    Încă nu există evaluări
  • IoT LL6
    IoT LL6
    Document8 pagini
    IoT LL6
    Anya Mr
    Încă nu există evaluări
  • Lab7 POO
    Lab7 POO
    Document10 pagini
    Lab7 POO
    Grosu Elena
    Încă nu există evaluări
  • NR 4
    NR 4
    Document7 pagini
    NR 4
    Graid Icen
    Încă nu există evaluări
  • Lab 4 RC
    Lab 4 RC
    Document4 pagini
    Lab 4 RC
    Den's Vlogs
    Încă nu există evaluări
  • Sda Laborator
    Sda Laborator
    Document26 pagini
    Sda Laborator
    Dorin Graur
    Încă nu există evaluări
  • Refer at
    Refer at
    Document11 pagini
    Refer at
    Дарья Рг
    Încă nu există evaluări
  • Laborator Porgramarea Calculatoarelor 3
    Laborator Porgramarea Calculatoarelor 3
    Document3 pagini
    Laborator Porgramarea Calculatoarelor 3
    Sergiu Lungu
    Încă nu există evaluări
  • Amoo 7
    Amoo 7
    Document4 pagini
    Amoo 7
    AlionaCrigan
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document9 pagini
    Lab 1
    Cristian Conea
    Încă nu există evaluări
  • PAM
    PAM
    Document3 pagini
    PAM
    nicu zuza
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document7 pagini
    Lab 3
    Fil Gorea
    Încă nu există evaluări
  • Lab 1ipp
    Lab 1ipp
    Document20 pagini
    Lab 1ipp
    SlavicCaldare
    Încă nu există evaluări
  • Curs Sabloane Proiectare
    Curs Sabloane Proiectare
    Document169 pagini
    Curs Sabloane Proiectare
    freestyla
    Încă nu există evaluări
  • Lab5 Rezolvare
    Lab5 Rezolvare
    Document3 pagini
    Lab5 Rezolvare
    Cosmin
    Încă nu există evaluări
  • TW Lab5
    TW Lab5
    Document3 pagini
    TW Lab5
    Dan
    Încă nu există evaluări
  • Lab1 GC
    Lab1 GC
    Document8 pagini
    Lab1 GC
    Andrei Barbalat
    Încă nu există evaluări
  • Lucrare de Laborator nr.4 Florea Cristina
    Lucrare de Laborator nr.4 Florea Cristina
    Document9 pagini
    Lucrare de Laborator nr.4 Florea Cristina
    Cristina Florea
    Încă nu există evaluări
  • LL7 Baze de Date
    LL7 Baze de Date
    Document5 pagini
    LL7 Baze de Date
    Anya Mr
    Încă nu există evaluări
  • Plan Lectie Graf-Orientat
    Plan Lectie Graf-Orientat
    Document5 pagini
    Plan Lectie Graf-Orientat
    Alexandru Ion
    Încă nu există evaluări
  • Laborator 3 PR
    Laborator 3 PR
    Document5 pagini
    Laborator 3 PR
    Guzun Ion
    Încă nu există evaluări
  • Lab3 BD2
    Lab3 BD2
    Document10 pagini
    Lab3 BD2
    Eliza Caraman
    Încă nu există evaluări
  • Baze de Date
    Baze de Date
    Document4 pagini
    Baze de Date
    Karina Andreea
    Încă nu există evaluări
  • Proiect Structuri de Date Neomogene
    Proiect Structuri de Date Neomogene
    Document5 pagini
    Proiect Structuri de Date Neomogene
    Teo Paveliuc
    Încă nu există evaluări
  • CV Albastru Gri
    CV Albastru Gri
    Document1 pagină
    CV Albastru Gri
    morgunovvictoria16
    Încă nu există evaluări
  • Document 4
    Document 4
    Document1 pagină
    Document 4
    maresanelise1
    Încă nu există evaluări
  • Proiect SGBD Oracle
    Proiect SGBD Oracle
    Document10 pagini
    Proiect SGBD Oracle
    Georgecraciun
    Încă nu există evaluări