Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НАЗВАНИЕ ОТЧЕТ МБМ.docx
Скачиваний:
28
Добавлен:
06.03.2016
Размер:
45.42 Кб
Скачать

Лабораторные задания.

Дать содержательную интерпретацию SQL-запросам, выполнить их на SQL-сервере с использованием клиентских утилит ISQL/w или SQL-EM, дать содержательную интерпретацию результатам выполнения SQL-запросов.

6) Выбрать все идентификаторы и цены книг по современной и традиционной кулинарии и по бизнесу. В запросе использовать предикат IN.

18) SELECT title_id, price

FROM titles

WHERE type IN ("mod_cook", "trad_cook", "business")

13) Выбрать информацию о книгах, упорядоченную по возрастанию объема продаж (по стоимости). Информация о книгах должна включать идентификатор, цену, объем продаж (по количеству) и объем продаж (по стоимости),только по убыванию.

SELECT type, AVG(price)

FROM titles

WHERE price>$11

GROUP BY type

HAVING AVG(price)>$19.7

20) Определить среднюю цену и сумму цен на книги по бизнесу и современной кулинарии для каждой комбинации типа книги и идентификатора издателя.

20) SELECT AVG(price) "avg" SUM(price) "sum"

FROM titles

WHERE type IN ("business", "mod_cook")

27) То же, что и 26, но в разделе FROM запроса использовать операцию соединения JOIN.

27) SELECT pub_name, AVG(price) "avg",

COUNT(DISTINCT title_id) "count"

FROM titles t JOIN publishers p ON t.pub_id=p.pub_id

GROUP BY pub_name

34) Выбрать всех издателей литературы по бизнесу. В запросе использовать подзапрос, формирующий промежуточную таблицу, в которую включаются те строки из таблицы titles, которые могут “экви-соединиться” по идентификатору издателя со строками из таблицы publishers и которые представляют тип книг по бизнесу. В условии поиска основного запроса использовать предикат EXISTS. В выбираемые данные включить имя издателя.

34) SELECT pub_name

FROM publishers p

WHERE EXISTS

(SELECT *

FROM titles t

WHERE p.pub_id=t.pub_id

AND type="popular_comp")

41) Определить все города, в которых проживают авторы. Названия городов в результирующей таблице не должны повторяться. Вывести названия городов в порядке убывания.

41) SELECT DISTINCT city

FROM authors

ORDER BY city DESC

48) Определить города и штаты нахождения издательств, в которых не проживают авторы. (В запросе неявно реализуется операция разности).

48) SELECT DISTINCT state

FROM authors

ORDER BY state

55) Определить, какие авторы в каких издательствах опубликовали сколько книг.

55) SELECT au_lname, au_fname, title

FROM authors a, titles t, titleauthor ta, publishers p

WHERE ta.title_id=t.title_id AND a.au_id=ta.au_id

AND t.pub_id=p.pub_id

AND ((p.country= ‘USA’ AND t.type=’popular_comp’)

OR (p.country=’France’ AND t.type=’psychology’))

62) Найти цену самой дорогой книги (книг), вышедшей в США. В запросе использовать подзапрос.

62) SELECT title, price

FROM titles t JOIN publishers p ON t.pub_id=p.pub_id

WHERE p.country= "USA" AND t.price=

(SELECT MAX(price)

FROM titles tt JOIN publishers pp

ON tt.pub_id=pp.pub_id

WHERE country= "USA")

69) Определить местонахождение издательств, цена каждой книги которых меньше 22 долларов. В запросе использовать подзапросы и предикат с квантором.

69) SELECT state, COUNT(*)

FROM publishers p

WHERE EXISTS

(SELECT *

FROM titles t

WHERE p.pub_id=t.pub_id)

AND $22>ALL

(SELECT price

FROM titles t

WHERE p.pub_id=t.pub_id

AND price IS NOT NULL)

GROUP BY state

ORDER BY state ASC

76) Определить авторов, хотя бы одна книга которых была опубликована в штате Массачусетс. В запросе использовать подзапросы и предикат с квантором.

76) SELECT state, SUM(price)

FROM titles t, publishers p

WHERE t.pub_id=p.pub_id

GROUP BY state

HAVING state NOT IN ("TN", "MA", "TX")

AND SUM(price)>

(SELECT SUM(price)

FROM titles tt, publishers pp

WHERE tt.pub.id=pp.pub_id

AND pp.city= "Masschusets")

83) Определить минимальную и максимальную цену книг, выпущенных издательствами.

83) SELECT type, MIN(price), MAX(price)

FROM titles

GROUP BY type

HAVING MAX(price)-MIN(price)>=3

90) Определить издательства, не выпустившие книг.

90) SELECT state

FROM authors

UNION SELECT state

FROM publishers.

Варианты лабораторных заданий

Номер варианта

Задание типа A

Задание типа B

1

1,13,25,32,49,73,81,96

9,25,29,31,42,53,66,77

2

2,14,26,38,50,62,63,86

8,28,30,41,48,49,52,60

3

3,15,27,39,51,61,64,90

7,20,26,40,45,47,61,85

4

4,16,28,37,46,59,65,91

17,27,54,56,70,72,75,86

5

5,17,29,41,57,66,84,92

15,18,24,38,73,74,87,90

6

6,18,30,42,58,67,83,93

16,22,37,43,51,62,76,91

7

8,19,31,52,53,70,80,94

3,11,33,78,84,88,92,96