Шпоры по базам данных / Шпора по БД
.docБилет 1
SELECT DISTINCT ПР1.ном_прод, ПР2.ном_прод,
ПР1.назв_прод, ПР2.назв_прод, ПР1.калорийность
FROM Продукт AS ПР1 LEFT JOIN Продукт AS ПР2
ON (ПР1.ном_прод<>ПР2.ном_прод)
AND (ПР1.калорийность=ПР2.калорийность);
Билет 2
select distinct Продукт.ном_прод as nom ,Продукт.назв_прод as name ,
"продукт" as тип
from Рецепт, Продукт
where Рецепт.ном_пр= Продукт.ном_прод
UNION
select distinct Блюдо.ном_бл as nom ,
Блюдо.назв_бл as name ,"блюдо" as тип
from Рецепт, Блюдо
where Рецепт.ном_бл=Блюдо.ном_бл
ORDER BY name;
Билет 3
SELECT DISTINCT t.fio, t.naim_pr, t.ocenka
FROM [select Stud.fio, Predm.naim_pr, Uspev.ocenka
from (Stud left join Uspev
on Stud.no_st=Uspev.no_st)
left join Predm on Uspev.no_pr=Predm.no_pr
union
select Stud.fio, Predm.naim_pr, Uspev.ocenka
from (Stud right join Uspev
on Stud.no_st=Uspev.no_st)
right join Predm on Uspev.no_pr=Predm.no_pr]. AS t;
Билет 4
SELECT [Predm].[no_pr], [Predm].[naim_pr]
FROM Uspev, Predm
WHERE (([Predm].[no_pr]=[Uspev].[no_pr])
And ([Predm].[kurs]=1)
And ([Uspev].[ocenka]=5)
And ([Predm].[spec]='АСУ'));
Билет 5
SELECT Predm.no_pr, Predm.naim_pr
FROM Predm
WHERE Predm.no_pr in
( SELECT Predm.no_pr
FROM Predm
WHERE ((SELECT count(*) as kol
from Stud
where Stud.spec='АСУ'
and Stud.kurs=1)=
(SELECT count(*) as kol_brain
from Uspev
where Uspev.ocenka>=4
and Uspev.no_pr=Predm.no_pr)) )
and Predm.spec='АСУ'
and Predm.kurs=1;
Билет 6
SELECT DISTINCT [Stud].[no_st], [Stud].[fio]
FROM Stud, Uspev
WHERE Stud.no_st=uspev.no_st
and Uspev.ocenka=5
and Uspev.no_pr in (select Uspev.no_pr
from Uspev,Stud
where Stud.fio='Иванов П.С.'
and Stud.no_st=Uspev.no_st
and Uspev.ocenka=5);
Билет 7
SELECT Блюдо.ном_бл, Блюдо.назв_бл,
t.назв_прод, t.кол_прод_в_блюде
FROM Блюдо LEFT JOIN [select Р_2.ном_бл,П_2.назв_прод,
Р_2.кол_прод_в_блюде
From Рецепт Р_2, Продукт П_2
Where Р_2.ном_пр=П_2.ном_прод ]. AS t
ON Блюдо.ном_бл=t.ном_бл;
Билет 8
SELECT [Блюдо].[ном_бл], [Блюдо].[назв_бл]
FROM Блюдо
WHERE Блюдо.ном_бл Not In
( Select Блюдо.ном_бл
From Блюдо
Where ( Select Count(*) As прод_count
From Рецепт
Where Рецепт.ном_бл = Блюдо.ном_бл)>1);
Билет 9
SELECT DISTINCT [Блюдо].[ном_бл], [Блюдо].[назв_бл],
sum([Рецепт].[кол_прод_в_блюде]) AS kol
FROM Блюдо, Рецепт
WHERE Рецепт.кол_прод_в_блюде in
(SELECT Distinct Рецепт.кол_прод_в_блюде
FROM Рецепт
WHERE Блюдо.ном_бл=Рецепт.ном_бл
and Блюдо.ном_бл in
(SELECT Блюдо.ном_бл
FROM Блюдо
WHERE
(Select sum(Рецепт.кол_прод_в_блюде*Продукт.калорийность) as kal_1_pr
From Рецепт, Продукт
Where Рецепт.ном_пр= Продукт.ном_прод
and Рецепт.ном_бл=Блюдо.ном_бл)<500) )
and Блюдо.ном_бл=Рецепт.ном_бл
GROUP BY [Блюдо].[ном_бл], [Блюдо].[назв_бл];
Билет 10
SELECT DISTINCT [Блюдо].[ном_бл], [Блюдо].[назв_бл]
FROM Блюдо, Рецепт AS Р
WHERE Р.ном_бл=Блюдо.ном_бл
and Р.кол_прод_в_блюде>100
and Р.ном_пр in
(Select Рецепт.ном_пр
From Рецепт, Блюдо
WHERE Блюдо.назв_бл='Жюльен с грибами а ля рюс'
and Рецепт.ном_бл=Блюдо.ном_бл);
Билет 11
SELECT Бл.ном_бл, Бл.назв_бл
FROM Блюдо AS Бл
WHERE Бл.ном_бл in
(Select distinct Р_4.ном_бл
from Рецепт Р_4
Where Р_4.кол_прод_в_блюде>100
and ( select Count(Р_2.ном_пр) as kol_pr
FROM Рецепт Р_2
WHERE Р_2.ном_бл=Р_4.ном_бл
and Р_2.ном_пр in
(select Р_1.ном_пр
From Блюдо Б_1, Рецепт Р_1
where Б_1.назв_бл='Солянка балтийская'
and Р_1.ном_бл=Б_1.ном_бл)
)=(select Count(Р_3.ном_пр) as kol_pr_in_sol
From Блюдо Б_2, Рецепт Р_3
where Б_2.назв_бл='Солянка балтийская'
and Р_3.ном_бл=Б_2.ном_бл)
);
Билет 12
SELECT Kal.калорийность, Pr.kol_pr, Bl.kol_bl
FROM [Select distinct П_2.калорийность
from Продукт П_2]. AS Kal,
[SELECT DISTINCT К.калорийность,
count(t.ном_прод) as kol_pr
FROM [Select distinct П_2.калорийность
from Продукт П_2 ]. AS К,
(SELECT Distinct П_4.калорийность, П_4.ном_прод
from Продукт П_4, (Select distinct П_5.калорийность
from Продукт П_5 ) П_6
where П_4.калорийность=П_6.калорийность) AS t
WHERE К.калорийность=t.калорийность
GROUP BY К.калорийность]. AS Pr,
[SELECT Distinct П_3.калорийность, count(Р_3.ном_бл) as kol_bl
from Продукт П_3, Рецепт Р_3
where П_3.ном_прод=Р_3.ном_пр
group by П_3.калорийность]. AS Bl
WHERE Kal.калорийность=Pr.калорийность
and Kal.калорийность=Bl.калорийность;
Билет 13
SELECT distinct Блюдо.назв_бл as nm_bl,
Продукт.назв_прод as nm_pr,Рецепт.Кол_прод_в_блюде as kol
from Блюдо,Продукт,Рецепт
Where Блюдо.ном_бл=Рецепт.ном_бл
and Продукт.ном_прод=Рецепт.ном_пр
union
SELECT distinct Блюдо.назв_бл as nm_bl,' ' as nm_pr,' ' as kol
from Блюдо, Рецепт
Where ( Блюдо.ном_бл not in (Select Рецепт.ном_бл
From Рецепт))
UNION
SELECT distinct ' ' as nm_bl,Продукт.назв_прод as nm_pr,' ' as kol
from Продукт, Рецепт
Where ( Продукт.ном_прод not in (Select Рецепт.ном_пр
From Рецепт));
Билет 14
SELECT DISTINCT Б_1.ном_бл, Б_1.назв_бл
FROM Блюдо AS Б_1
WHERE (SELECT count(Р_1.ном_пр) as kol
From Рецепт Р_1
where Р_1.кол_прод_в_блюде>100
and Р_1.ном_бл=Б_1.ном_бл
and Р_1.ном_пр in
(select Р_2.ном_пр
From Рецепт Р_2,Блюдо Б_2
where Б_2.назв_бл='Солянка донская'
and Б_2.ном_бл=Р_2.ном_бл))=0;
Билет 15
SELECT [Stud].[no_st], [Stud].[fio], min([Uspev].[ocenka]) AS min_o,
max([Uspev].[ocenka]) AS max_o, avg([Uspev].[ocenka]) AS avg_o
FROM Stud, Uspev
WHERE Stud.no_st=Uspev.no_st
and ( (select avg(U_1.ocenka) as avg_control
from Uspev U_1
where Stud.no_st=U_1.no_st)=4,7)
GROUP BY [Stud].[no_st], [Stud].[fio];
Билет 16
SELECT Блюдо.ном_бл, Блюдо.назв_бл, K_B.kal
FROM [SELECT distinct Р_3.ном_бл,sum(Р_3.кол_прод_в_блюде*П_3.калорийность) as kal
from Рецепт Р_3, Продукт П_3
where Р_3.ном_пр=П_3.ном_прод
Group by Р_3.ном_бл]. AS K_B, Блюдо
WHERE Блюдо.ном_бл=K_B.ном_бл
and
((SELECT distinct sum(Р_5.кол_прод_в_блюде*П_3.калорийность) as kal
from Рецепт Р_5, Продукт П_3
where Р_5.ном_пр=П_3.ном_прод
and Р_5.ном_бл= Блюдо.ном_бл)>
(SELECT distinct sum(Р_4.кол_прод_в_блюде*П_4.калорийность) as kal
from Рецепт Р_4, Продукт П_4
where Р_4.ном_пр=П_4.ном_прод
and Р_4.ном_бл='123'));
Билет 17
SELECT Stud.spec, Stud.kurs, min(Uspev.ocenka) AS min_o,
max(Uspev.ocenka) AS max_o, avg(Uspev.ocenka) AS avg_o
FROM Uspev, Stud
WHERE Stud.no_st=Uspev.no_st
GROUP BY Stud.spec, Stud.kurs;
Билет 18
SELECT DISTINCT [Продукт].[ном_прод],
[Продукт].[назв_прод], [Блюдо].[ном_бл], [Блюдо].[назв_бл]
FROM Продукт, Блюдо
WHERE Продукт.ном_прод not in
(SELECT distinct П_1.ном_прод
From Продукт П_1,Рецепт Р_1
WHERE Р_1.ном_бл=Блюдо.ном_бл
and П_1.ном_прод=Р_1.ном_пр);
Билет 19
SELECT Блюдо.ном_бл as nom, Блюдо.назв_бл as name,'блюдо' as tip
from Блюдо
where Блюдо.категория='диетические'
UNION
SELECT Продукт.ном_прод as nom,
Продукт.назв_прод as name,'продукт' as tip
from Продукт
where Продукт.калорийность<500
ORDER BY name;
Билет 20
SELECT DISTINCT S_3.no_st, S_3.fio
FROM Stud AS S_3
WHERE (select count(U_4.no_pr) as kol
from Uspev U_4
where U_4.no_st=S_3.no_st
and U_4.ocenka<>5
and U_4.no_pr in (SELECT U_5.no_pr
from Uspev U_5,Stud S_5
where S_5.fio='Иванов П.С.'
and U_5.no_st=S_5.no_st
and U_5.ocenka=5))>0;
Билет 21
SELECT DISTINCT Блюдо.категория, min(B_K.калорийность) AS min_k,
max(B_K.калорийность) AS max_k, avg(B_K.калорийность) AS avg_k
FROM Блюдо LEFT JOIN
[select Р_1.ном_бл , П_1.калорийность
from Продукт П_1 , Рецепт Р_1
where Р_1.ном_пр=П_1.ном_прод]. AS B_K
ON Блюдо.ном_бл=B_K.ном_бл
GROUP BY Блюдо.категория;
Билет 25
SELECT Stud.no_st, Stud.fio, S_P.naim_pr, S_P.ocenka
FROM Stud LEFT JOIN
[Select U_1.no_st,P_1.naim_pr,U_1.ocenka
From Predm P_1,Uspev U_1
where U_1.no_pr=P_1.no_pr]. AS S_P
ON S_P.no_st=Stud.no_st;
Билет 26
SELECT [Stud].[no_st], [Stud].[fio], [Predm].[no_pr], [Predm].[naim_pr]
FROM Stud, Predm
WHERE Stud.kurs=Predm.kurs
and Stud.spec=Predm.spec
and Predm.no_pr not in
(select Uspev.no_pr
from Uspev
where Uspev.no_st=Stud.no_st );
Билет 27
SELECT S_1.no_st, S_1.fio
FROM Stud AS S_1
WHERE (SELECT count(U_2.no_pr) as kol_pr
from Uspev U_2
where S_1.no_st=U_2.no_st
and U_2.ocenka=5
and U_2.no_pr in
(SELECT U_3.no_pr
from Stud S_3,Uspev U_3
where S_3.fio='Иванов П.С.'
and S_3.no_st=U_3.no_st
and U_3.ocenka=5 ) )=
(SELECT count(U_3.no_pr) as kol
from Stud S_3,Uspev U_3
where S_3.fio='Иванов П.С.'
and S_3.no_st=U_3.no_st
and U_3.ocenka=5);
Билет 28
SELECT DISTINCT П_1.ном_прод, П_1.назв_прод
FROM [select Блюдо.ном_бл
from Блюдо
where Блюдо.категория='малокалорийные']. AS B_M,
Продукт AS П_1, Рецепт
WHERE B_M.ном_бл=Рецепт.ном_бл
and Рецепт.кол_прод_в_блюде>100
and Рецепт.ном_пр=П_1.ном_прод;
Билет 32
SELECT DISTINCT P_1.no_pr, P_1.naim_pr, P_1.kol_chasov,
P_1.kafedra, P_2.no_pr, P_2.naim_pr
FROM Predm AS P_1 INNER JOIN Predm AS P_2
ON (P_1.no_pr<>P_2.no_pr)
AND (P_1.kafedra=P_2.kafedra)
AND (P_1.kol_chasov=P_2.kol_chasov);
Билет 33
SELECT Stud.no_st, Stud.fio, Predm.no_pr, Predm.naim_pr
FROM Stud, Predm
WHERE Predm.spec=Stud.spec
and Predm.kurs<Stud.kurs;
Билет 36
SELECT DISTINCT [Блюдо].[ном_бл], [Блюдо].[назв_бл]
FROM Блюдо, Рецепт
WHERE Блюдо.ном_бл=Рецепт.ном_бл
and Рецепт.кол_прод_в_блюде>100
and (select count(Р_4.ном_пр) as kol_pr_bl
From Рецепт Р_4
Where Р_4.ном_бл=Рецепт.ном_бл
and Р_4.ном_пр in (SELECT Р_5.ном_пр
From Рецепт Р_5,Блюдо Б_5
where Б_5.назв_бл='Солянка московская'
and Б_5.ном_бл=Р_5.ном_бл)
) =(SELECT count(Р_6.ном_пр) as kol_pr_sol
From Рецепт Р_6,Блюдо Б_6
where Б_6.назв_бл='Солянка московская'
and Б_6.ном_бл=Р_6.ном_бл);