Тема: Создание запросов
6.2 Цель: научиться создавать и выполнять запросы на языке SQL-запросы.
6.3 Оборудование, инструменты, расходные материалы:
1) Персональный компьютер
2) Программа SQL Server 2000 (утилита Query Analizer)
6.4 Теоретическая часть
Для выполнения запросов пользователей необходимо перевести запрос с естественного языка на декларативный язык SQL.
Синтаксис оператора SELECT:
SELECT statement::= < query_expression > [ ORDER BY { order_by_expression | column_position [ ASC | DESC ] } [,... n ] ] [ COMPUTE { { AVG | COUNT | MAX | MIN | SUM } ( expression ) } [,... n ] [ BY expression [,... n ]] ] [ FOR { BROWSE | XML { RAW | AUTO | EXPLICIT } [, XMLDATA ] [, ELEMENTS ] [, BINARY base64 ] } ] [ OPTION (< query_hint > [,... n ]) ]
< query expression >::= { < query specification > | (< query expression >) } [ UNION [ ALL ] < query specification | (< query expression >) [... n ] ]
< query specification >::= SELECT [ ALL | DISTINCT ] [ { TOP integer | TOP integer PERCENT } [ WITH TIES ] ] < select_list > [ INTO new_table ] [ FROM { < table_source > } [,... n ] ] [ WHERE < search_condition > ] [ GROUP BY [ ALL ] group_by_expression [,... n ] [ WITH { CUBE | ROLLUP } ] ] [ HAVING < search_condition > ]
6.5 Выполнение работы
1) Создайте 5 простых запросов на языке SQL с применением ключевых слов: DISTINCT, ORDER BY, GROUP BY, HAVING, BETWEEN, LIKE.
2) Создайте 5 сложных запросов на языке SQL с применением соединения таблиц.
3) Создайте 5 сложных запросов с подзапросами, использующими: агрегирующие функции, операторы сравнения во внешнем предложении WHERE. Не менее 1 запроса необходимо привести в коррелированной форме.
6.6 Пример выполнения работы
6.6.1 Простой запрос
Определить названия книг, у которых стоимость превышает 1000 руб.
Запрос на языке SQL:
select title
from book
where price > 1000;
6.6.2 Сложный запрос на соединение таблиц
Определить названия книг и их издательств, годовой объем продаж которых не менее 5 000 экземпляров.
select title, pub_name
from publisher p, book b
where (p.pub_id = b.pub_id) and (year_sale >= 5000);
6.6.3 Сложный запрос с подзапросом
Определить названия издательств, выпускающих книги по химии. Запрос представить в коррелированной форме.
select pub_name
from publisher p
where ‘химия’ in
(select book_vid
from book
where pub_id = p.pub_id
)
6.7 Вывод
Дата добавления: 2015-09-27 | Просмотры: 415 | Нарушение авторских прав
|