Шпоры по базам данных - файл n3.doc

приобрести
Шпоры по базам данных
скачать (114.7 kb.)
Доступные файлы (8):
n1.doc49kb.30.01.2004 20:11скачать
n2.doc30kb.14.11.2003 18:35скачать
n3.doc84kb.08.01.2003 20:54скачать
n4.doc171kb.30.01.2004 20:24скачать
n5.doc35kb.13.12.2004 11:05скачать
n6.doc35kb.30.01.2004 14:14скачать
n7.doc152kb.30.01.2004 20:22скачать
n8.doc66kb.24.01.2003 21:57скачать

n3.doc

Билет №1


1.

Студент (код_студента, ФИО_студента)

Предмет (код_предмета, назв_предмета)

Успеваемость (код_студента, код_предмета, дата_сдачи, оценка)

2.

Select x.ном_прод, x.назв_прод, x.калорийность, y.ном_прод, y.назв_прод

From Продукт as x Left Join Продукт as y ON

(x.калорийность = y.калорийность

And x.ном_прод <> y.ном_прод)

Билет №2


1.

Студент (код_студента, ФИО_студента, код_специальности, курс, группа)

Специальность (код_специальности, назв_специальности)

2.

Select ном_прод As ном, назв_прод As назв, Продукт As категория

From Продукт

Where ном_прод In (Select ном_прод From Рецепт)

Union

Select ном_бл As ном, назв_бл As назв, Блюдо As категория

From Блюдо

Where ном_бл In (Select ном_бл From Рецепт)

Order by назв

Билет №3


1.

Студент (код_студента, ФИО_студента, код_специальности, курс, группа)

Успеваемость (код_студента, код_предмета, оценка)

2.юлина(правильно,лучше,чем остальные)(?)

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;

ленина

Select Uspev_Stud.fio, Predm.naim_pr, Uspev_Stud.ocenka

From ( Select Stud.fio As fio, Uspev.ocenka As ocenka, Uspev.no_pr As no_pr

From Stud Left Join Uspev On

Uspev.no_st = Stud.no_st) As Uspev_Stud Full Outer Join Predm On

Predm.no_pr = Uspev_stud.no_pr

Как Дима делал 13


SELECT stud.fio as n1, predm.naim_pr as n2, uspev.ocenka as ocenka

from stud, predm, uspev

where stud.no_st=uspev.no_st AND

predm.no_pr=uspev.no_pr

union

select stud.fio as n1, " " as n2, " " as ocenka

from stud

where no_st not in (

select distinct no_st

from uspev)

UNION select " " as n1,predm.naim_pr as n2, " " as ocenka

from predm

where no_pr not in (

select distinct no_pr

from uspev);

Билет №4

1.

Предмет (код_предмета, назв_предмета)

Кафедра (код_кафедры, назв_кафедры)

Специальность (код_специальности, назв_специальности,код_кафедры)

Уч_план (код_предмета, код_кафедры, код_специальности, количество_часов в предмет)

2.

Select distinct Predm.no_pr, Predm.naim_pr

From Stud, Predm, Uspev

Where Stud.no_st = Uspev.no_st

And Predm.no_pr = Uspev.no_pr

And Uspev.ocenka=5

And Stud.spec=АСУ

And Stud.kurs=1

Билет №5


1.

Предмет (код_предмета, назв_предмета, количество_часов, код_составителя)

Составитель (код_составителя, должность_составителя, звание_составителя, ФИО_составителя)

2.

ленин (неправильный)

SELECT [no_pr], [naim_pr]

FROM Predm

WHERE no_pr NOT In ( Select no_pr From Uspev Where ocenka in (1,2,3) And no_st In ( Select no_st From Stud Where spec = "asu" And kurs =1));

Юлин (правильный)(+)

SELECT [predm].[no_pr], [predm].[naim_pr]

FROM (uspev INNER JOIN predm ON [uspev].[no_pr]=[predm].[no_pr]) INNER JOIN stud ON [uspev].[no_st]=[stud].[no_st]

WHERE ([uspev].[ocenka]=4 Or [uspev].[ocenka]=5) And [stud].[kurs]=1 And [stud].[spec]="asu";

Билет №6

1.

Предмет (код_предмета, назв_предмета)

Специальность (код_специальности, назв_специальности)

Экзамен (код_предмета, код_специальности, дата_проведения, аудитория, ФИО_преподавателя)

Или экз(дата, ауд, фио,код_пред)

Пред(код_пр, наз, код_спец)

Спец(код_спец, назв_спец)

2.

SELECT DISTINCT [Stud].[no_st], [Stud].[fio]

FROM Uspev, Stud

WHERE Uspev.no_pr In( Select no_pr From Uspev, Stud Where Uspev.no_st = Stud.no_st And Stud.fio ="иванов п.с." And Uspev.ocenka = 5) And Uspev.no_st = Stud.no_st And Uspev.ocenka = 5 And Stud.fio <> "иванов п.с.";

Билет №7


1.

Покупатель (код_покупателя, ФИО_покупателя)

Товар (код_товара, назв_товара)

Покупка (код_покупателя, код_товара, дата_покупки, время_покупки, кол_единиц_товара)
2.(я исправила)

Select Рецепт_Блюдо.ном_бл, Рецепт_Блюдо.назв_бл, Продукт.назв_прод, Рецепт_Блюдо.кол_прод_в_блюде

From (

Select Блюдо.ном_бл As ном_бл,

Блюдо.назв_бл As назв_бл,

Рецепт.кол_прод_в_блюде As кол_прод_в_блюде,

Рецепт.ном_прод As ном_прод

From Блюдо Left Join Рецепт On

Рецепт.ном_бл = Блюдо.ном_бл

) As Рецепт_Блюдо Left Join Продукт On

Продукт.ном_прод = Рецепт_Блюдо.ном_прод

Билет №8


1.

Товар (код_товара, назв_товара, срок_гарантии, цена, код_категории_товара)

Категория (код_категории_товара, назв_категории)

2.

Select Блюдо.ном_бл

From Блюдо

Where Блюдо.ном_бл Not In (

Select Блюдо.ном_бл

From Блюдо

Where ( Select Count(*) As прод_count

From Рецепт

Where Рецепт.ном_бл = Блюдо.ном_бл)>1)

Билет №9


1.

Покупатель (код_покупателя, ФИО_покупателя, стаж_покупателя, код_категории_покупателя+код_товара, дата_покупки)

Категория (код_категории_покупателя, назв_категории) или Покупка(код_покуп-ля,код_товара,дата_п)

2.

Select Рецепт_нов.ном_бл, Блюдо.назв_бл, сум_кол_прод_в_блюде, сум_калорийность

From (

Select Рецепт.ном_бл As ном_бл, sum (Рецепт.кол_прод_в_блюде * Продукт.калорийность) As Сум_калорийность,

Count{sum} (Рецепт.кол_прод_в_блюде) As сум_кол_прод_в_блюде

From Рецепт, Продукт

Where Продукт.ном_прод = Рецепт.ном_прод

Group By Рецепт.ном_бл) As Рецепт_нов,

Блюдо

Where Рецепт_нов.сум_калорийность <500

And Блюдо.ном_бл = Рецепт_нов.ном_бл

{sum, если считать поле кол_прод_в_блюде;

count, если считать поле ном_пр, т.е. сколько разных продуктов в блюде)

Билет №10

Задача 2


SELECT ном_бл, назв_бл

FROM блюдо xb

WHERE ном_бл IN (

SELECT ном_бл

FROM рецепт XР

WHERE кол_прод_в_блюде > 100

AND ном_пр IN (

SELECT ном_пр

FROM рецепт YР

WHERE ном_бл IN (

SELECT ном_бл

FROM блюдо Yb

WHERE назв_бл= "жюльен")));

Билет №11

Задача 2

SELECT ном_бл, назв_бл

FROM Блюдо

WHERE ном_бл IN (

SELECT ном_бл

FROM Рецепт

WHERE кол_прод_в_блюде > 100 AND

NOT EXISTS (

SELECT *

FROM Рецепт

WHERE ном_бл IN (

SELECT ном_бл

FROM Блюдо

WHERE назв_бл = 'Солянка') AND

ном_пр NOT IN (

SELECT ном_пр

FROM Рецепт

WHERE Блюдо.ном_бл = Рецепт.ном_бл)));

Билет №12

Задача 2(-)

SELECT product.kal, COUNT(distinct product.nom_prod) AS k_prod, COUNT (bludo.nom_bl)

AS k_bl

FROM product, bludo, recept

WHERE product.nom_prod=recept.nom_prod And bludo.nom_bl=recept.nom_bl

GROUP BY product.kal;

Иринина(-)

SELECT калорийность, count(ном_пр) AS к_прод, (select count(рецепт.ном_бл) from рецепт, продукт where рецепт.ном_пр=продукт.ном_пр AND продукт.калорийность=Р.калорийность) AS к_блюд

FROM продукт AS р

GROUP BY калорийность;

Билет №13

Задача 2

SELECT bludo.nazv_bl AS n1, product.nazv_prod AS n2, recept.kol_prod_v_bludo AS kol

FROM bludo, product, recept

WHERE bludo.nom_bl=recept.nom_bl

AND product.nom_prod=recept.nom_prod

UNION

SELECT bludo.nazv_bl AS n1, " " AS n2, " " AS kol

FROM bludo

WHERE nom_bl NOT IN (SELECT DISTINCT nom_bl FROM recept)

UNION SELECT " " AS n1, nazv_prod AS n2, " " AS kol

FROM product

WHERE nom_prod NOT IN (SELECT DISTINCT nom_prod FROM recept);
Билет №14

Задача 2

SELECT блюдо.ном_бл, [назв_бл]

FROM Блюдо

WHERE NOT EXISTS (

SELECT ном_пр

FROM Рецепт1

WHERE кол_прод_в_блюде > 100 AND

рецепт1.ном_бл = блюдо.ном_бл AND

ном_пр NOT IN (

SELECT ном_пр

FROM Рецепт1, блюдо

WHERE рецепт1.ном_бл = блюдо.ном_бл AND

назв_бл = 'Солянка'));

Билет №15

Задача 2

SELECT [stud].[no_st], [stud].[fio], MIN([uspev].[ocenka]) AS minoc, MAX([uspev].[ocenka]) AS maxoc, AVG([uspev].[ocenka]) AS Sredn

FROM stud, uspev

WHERE stud.no_st = uspev.no_st AND stud.no_st IN ( SELECT uspev.no_st FROM uspev GROUP BY uspev.no_st HAVING AVG(uspev.ocenka) >"4.7")

GROUP BY [stud].[no_st], [stud].[fio];

Билет №16

Задача 2

select блюдо.назв_бл, sum(продукт.калорийность*рецепт.кол_прод_в_блюде) as Калорийность

from (блюдо inner join рецепт on блюдо.ном_бл=рецепт.ном_бл) inner join продукт on рецепт.ном_прод=продукт.ном_прод

group by блюдо.ном_бл, блюдо.назв_бл

having sum(продукт.калорийность*рецепт.кол_прод_в_блюде)>

any (select sum(продукт.калорийность*рецепт.кол_прод_в_блюде)

from рецепт inner join продукт on рецепт.ном_прод=продукт.ном_прод

where рецепт.ном_бл=123

group by ном_бл)

Билет №17

Задача 2

SELECT [spec], [kurs], MIN([uspev].[ocenka]) AS minocen, MAX([uspev].[ocenka]) AS maxocen, AVG([uspev].[ocenka]) AS Sredn

FROM stud, uspev

WHERE [stud].[no_st]=[uspev].[no_st]

GROUP BY [spec], [kurs];

Билет №18

Задача 2

SELECT продукт.ном_пр, [назв_пр], Блюдо.ном_бл, [назв_бл]

FROM продукт, блюдо

WHERE ном_пр NOT IN ( SELECT ном_пр FROM рецепт1 WHERE рецепт1.ном_бл = блюдо.ном_бл);

Билет №19

Задача 2

SELECT nom_bl AS nom, nazv_bl as nazv, "bludo" as type

FROM bludo WHERE kat="diet"

UNION (

SELECT nom_prod AS nom, nazv_prod as nazv, "product" as type

FROM product WHERE kal<500 )

ORDER BY nazv;

Билет20

Задача 2

SELECT [no_st], [fio]

FROM stud

WHERE stud.no_st IN (SELECT no_st FROM uspev WHERE (no_pr IN (SELECT uspev.no_pr FROM uspev, stud WHERE uspev.ocenka<5 AND stud.fio="Иванов П.С." AND stud.no_st=uspev.no_st)) GROUP BY no_st HAVING max(ocenka)<5);

Билет21

Задача 2

Вариант 0 (Иринин) супер (+)

SELECT [блюдо].[категория], min(калорийность) AS мин, max(калорийность) AS макс, avg(калорийность) AS сред

FROM блюдо, (SELECT блюдо.ном_бл AS ном_бл, калорийность

FROM (блюдо inner join рецепт on [блюдо].[ном_бл]=[рецепт].[ном_бл]) inner join продукт on [продукт].[ном_прод]=[рецепт].[ном_прод]

GROUP BY блюдо.ном_бл,калорийность)

WHERE [блюдо].[ном_бл]=ном_бл

GROUP BY [блюдо].[категория];

Вариант1 (с каля-баля)

SELECT [bludo].[kat], min(kal) AS minimum, max(kal) AS maximum, avg(kal) AS average

FROM bludo, [SELECT bludo.nom_bl AS nom_bl, SUM(recept.kol_prod_v_bludo*product.kal) AS kal

FROM bludo, product, recept

WHERE [bludo].[nom_bl]=[recept].[nom_bl] And [product].[nom_prod]=[recept].[nom_prod]

GROUP BY bludo.nom_bl]. AS [%$##@_Alias]

WHERE [bludo].[nom_bl]=nom_bl

GROUP BY [bludo].[kat];

Вариант2 (без каля-баля)

SELECT [bludo].[kat], min(kal) AS minimum, max(kal) AS maximum, avg(kal) AS average

FROM bludo,([SELECT bludo.nom_bl AS nom_bl, SUM(recept.kol_prod_v_bludo*product.kal) AS kal

FROM bludo, product, recept

WHERE [bludo].[nom_bl]=[recept].[nom_bl] And [product].[nom_prod]=[recept].[nom_prod]

GROUP BY bludo.nom_bl)

WHERE [bludo].[nom_bl]=nom_bl

GROUP BY [bludo].[kat];

Билет №22

Задача 2

SELECT stud.no_st, stud.fio, minimum, maximum, average

FROM stud, [SELECT stud.no_st AS no_st, min(uspev.ocenka) AS minimum, max(uspev.ocenka) AS maximum, avg(uspev.ocenka) AS average

FROM stud, uspev

WHERE stud.no_st=uspev.no_st

GROUP BY stud.no_st]. AS [%$##@_Alias]

WHERE average>

(SELECT avg([ocenka])

FROM uspev

WHERE no_st=992027

GROUP BY [no_st];)

AND stud.no_st=no_st;

Билет №23

Задача 2

SELECT [stud].[spec], [uspev].[ocenka], count([uspev].[no_st]) AS kolvo_st, count([uspev].[no_pr]) AS kolvo_pr

FROM stud, uspev

WHERE [stud].[no_st]=[uspev].[no_st]

GROUP BY stud.spec, uspev.ocenka;

Билет №24

Задача 2

SELECT no_pr AS no, fio, "Преподаватель" AS kateg

FROM prepod

UNION SELECT no_st AS no, fio, "Студент" AS kateg

FROM stud

WHERE no_st IN(SELECT no_st FROM rukov)

ORDER BY fio;

Билет №25

Задача 2

SELECT stud.no_st, stud.fio, predm.naim_pr AS naim_pr, uspev.ocenka AS ocenka

FROM stud, predm, uspev

WHERE stud.no_st=uspev.no_st

AND predm.no_pr=uspev.no_pr

UNION SELECT stud.no_st, stud.fio, " " AS naim_pr, " " AS ocenka

FROM stud

WHERE stud.no_st NOT IN (SELECT DISTINCT no_st FROM uspev);

Билет №26

Задача 2

SELECT stud.no_st, stud.fio, predm.no_pr AS nop, predm.naim_pr AS name

FROM stud, predm

WHERE

predm.kurs=stud.kurs

AND NOT EXISTS(

SELECT no_st, no_pr

FROM uspev

WHERE uspev.no_pr=predm.no_pr

AND uspev.no_st=stud.no_st)

UNION SELECT stud.no_st, stud.fio, NULL AS nop, NULL AS name

FROM stud, predm

WHERE stud.no_st NOT IN(

SELECT stud.no_st

FROM stud, predm

WHERE predm.kurs=stud.kurs

AND NOT EXISTS(

SELECT no_st, no_pr

FROM uspev

WHERE uspev.no_pr=predm.no_pr

AND uspev.no_st=stud.no_st));

Билет №27

Задача 2

SELECT [stud].[no_st], [stud].[fio]

FROM stud, uspev

WHERE stud.no_st=uspev.no_st AND uspev.no_pr IN (SELECT DISTINCT [uspev].[no_pr] AS no_pr FROM uspev, stud WHERE [stud].[fio]="AAA" And [stud].[no_st]=[uspev].[no_st] And [uspev].[ocenka]=5)

GROUP BY [stud].[no_st], [stud].[fio]

HAVING min(uspev.ocenka)=5 AND max(uspev.ocenka)=5;

Билет №28

Задача 2

I Вариант

SELECT Продукт.ном_прод, Продукт.назв_прод

FROM Продукт INNER JOIN (Блюдо INNER JOIN Рецепт ON Блюдо.ном_бл = Рецепт.ном_бл) ON Продукт.ном_прод = Рецепт.ном_пр

WHERE ((([Рецепт]![кол_прод_в_блюде])>100) AND (([Блюдо]![категория])="малокалорийные"));

II Вариант (лучше)-димин

SELECT [продукт].[ном_пр], [назв_пр]

FROM продукт

WHERE ном_пр IN ( SELECT ном_пр FROM рецепт,блюдо WHERE кол_прод_в_блюде > 100 AND рецепт.ном_бл = блюдо.ном_бл AND категория = “малокалорийные”);

Билет №29

Задача 2

I Вариант

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 stud, uspev WHERE uspev.no_st = stud.no_st AND stud.fio = 'Иванов' AND uspev.ocenka =5);

II Вариант

SELECT Stud.no_st, Stud.fio

FROM Иванов INNER JOIN (Stud INNER JOIN (Predm INNER JOIN Uspev ON Predm.no_pr = Uspev.no_pr) ON Stud.no_st = Uspev.no_st) ON Иванов.no_pr = Uspev.no_pr

WHERE (((Stud.fio)<>("Иванов П.С.")) AND (([Uspev]![ocenka])="отлично"));

Запрос Иванов

SELECT Uspev.no_st, Uspev.ocenka, Uspev.no_pr

FROM Stud INNER JOIN (Predm INNER JOIN Uspev ON Predm.no_pr = Uspev.no_pr) ON Stud.no_st = Uspev.no_st

WHERE ((([Stud]![fio])="Иванов П.С.") AND (([Uspev]![ocenka])="Отлично"));

Билет №30

Задача 2

SELECT no_pr as no, fio, "Преподаватель" as kateg

From prepod

WHERE no_pr IN (SELECT no_pr FROM rukov)

UNION SELECT no_st as no, fio, "Студент" as kateg

FROM stud

WHERE no_st IN ( SELECT no_st FROM rukov)

ORDER BY fio;

Билет №31

задача 2

SELECT no_pr AS no, fio, "Teacher" AS Kateg

FROM Prepod

WHERE Month ([Prepod]![data_rojd])=1

UNION

SELECT no_st AS no, fio, "Student" AS Kateg

FROM Stud

WHERE Month ([Stud]![data_rojd])=1

ORDER BY fio;
Билет №32

задача 2

SELECT predm.no_pr, predm.naim_pr, predm.kol_chasov, predm.kafedra, predm_1.no_pr, predm_1.naim_pr

FROM predm

LEFT JOIN predm AS predm_1 ON (predm_1.kafedra=predm.kafedra) AND (predm_1.kol_chasov=predm.kol_chasov) AND (predm_1.no_pr<>predm.no_pr);

Билет №33

задача 2

SELECT [stud].[no_st], [stud].[fio], [predm].[no_pr], [predm].[naim_pr]

FROM stud, predm

WHERE [stud].[kurs]=[predm].[kurs];

Билет №34

Задача 2

SELECT ном_бл AS no, назв_бл AS nazv, "Bludo" AS Kateg

FROM Блюдо

UNION

SELECT ном_прод AS no, назв_прод AS nazv, "Product" AS Kateg

FROM Продукт

WHERE ном_прод IN (SELECT ном_пр FROM Рецепт)

ORDER BY nazv;

или

SELECT ном_бл,назв_бл AS название, "блюдо" AS тип

FROM блюдо

UNION SELECT продукт.ном_пр, назв_пр AS название, "продукт" AS тип

FROM продукт, рецепт

WHERE продукт.ном_пр = рецепт.ном_пр

ORDER BY название;

Билет №35

Задача 2

SELECT Продукт.ном_прод, Продукт.назв_прод

FROM Продукт INNER JOIN (Блюдо INNER JOIN Рецепт ON Блюдо.ном_бл = Рецепт.ном_бл) ON Продукт.ном_прод = Рецепт.ном_пр

WHERE ((([Рецепт]![кол_прод_в_блюде]) Between 100 And 200) AND (([Блюдо]![категория])="диетическое"));

Вместо ! “.”

Билет №36

Задача 2

SELECT [ном_бл], [назв_бл]

FROM блюдо

WHERE (select count(рецепт.ном_пр) from рецепт where рецепт.ном_бл=блюдо.ном_бл) = (select count(рецепт.ном_пр) from блюдо, рецепт where рецепт.ном_бл=блюдо.ном_бл and назв_бл="солянка") and (select count(р.ном_пр) from рецепт р where р.ном_бл=блюдо.ном_бл and (р.кол_прод_в_блюде <=100 or not exists ( select ном_пр from блюдо, рецепт where рецепт.ном_бл=блюдо.ном_бл and назв_бл="солянка" and рецепт.ном_пр=р.ном_пр)))=0;





Билет №1
Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации