Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шпоры по базам данных / Шпора по БД

.doc
Скачиваний:
46
Добавлен:
02.05.2014
Размер:
67.07 Кб
Скачать

Билет 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.ном_бл);

Соседние файлы в папке Шпоры по базам данных