Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты+Ответы СПСвСУ.docx
Скачиваний:
92
Добавлен:
04.06.2015
Размер:
242.11 Кб
Скачать

16.Общий формат select-инструкции (запроса на выборку). Пример реализации.

Оператор выборки записей имеет формат вида:

SELECT [ALL I DISTINCT] <список данных>

FROM <список таблиц>

[WHERE <условие выборки>]

[GROUP BY <имя столбца> [,<имя столбца>] ... ]

[HAVING <условие поиска>]

[ORDER BY <спецификация> [,<спецификация>]...]

Это наиболее важный оператор из всех операторов SQL. Функциональ­ные возможности его огромны. Рассмотрим основные из них.

Оператор SELECT позволяет производить выборку и вычисления над данными из одной или нескольких таблиц. Результатом выполнения опера­тора является ответная таблица, которая может иметь (ALL), или не иметь (DISTINCT) повторяющиеся строки. По умолчанию в ответную таблицу включаются все строки, в том числе и повторяющиеся. В отборе данных уча­ствуют записи одной или нескольких таблиц, перечисленных в списке опе­ранда FROM.

Основные виды связи таблиц

Между таблицами могут устанавливаться бинарные (между двумя табли­цами), тернарные (между тремя таблицами) и, в общем случае, n-арные свя­зи. Рассмотрим наиболее часто встречающиеся бинарные связи.

При связывании двух таблиц выделяют основную и дополнительную (под­чиненную) таблицы. Логическое связывание таблиц производится с помо­щью ключа связи.

Ключ связи, по аналогии с обычным ключом таблицы, состоит из одного или нескольких полей, которые в данном случае называют полями связи (ПС).

Суть связывания состоит в установлении соответствия полей связи основ­ной и дополнительной таблиц. Поля связи основной таблицы могут быть обычными и ключевыми. В качестве полей связи подчиненной таблицы чаще всего используют ключевые поля.

В зависимости от того как определены поля связи основной и дополнительной

тельной таблиц (как соотносятся ключевые поля с полями связи), между дву­мя таблицами в общем случае могут устанавливаться следующие четыре ос­новных вида связи:

• один —один (1:1);

• один — много (1:М);

• много — один (М:1);

• много — много (М:М или M:N).

Характеристика видов связей таблиц

Характеристика полей связи по видам

1:1

1:М

М:1

М:М

Поля связи основной таблицы

являются ключом

являются ключом

не являются ключом

не являются ключом

Поля связи дополнительной таблицы

являются ключом

не являются ключом

являются ключом

не являются ключом

Выбор записей.

Для таблицы ЕМР, имеющей поля: NAME (имя), SAL (зарплата), MGR (руководитель) и DEPT (отдел), требуется вывести имена сотрудников и раз­мер их зарплаты, увеличенный на 100 единиц. Оператор выбора можно запи­сать следующим образом:

SELECT name, sal+100 FROM emp.

Выбор с условием.

Вывести названия таких отделов таблицы ЕМР, в которых в данный мо­мент отсутствуют руководители. Оператор SELECT для этого запроса мож­но записать так:

SELECT dept FROM emp WHERE mgr is NULL.

Выбор с группированием.

Пусть требуется найти минимальную и максимальную зарплаты для каждого из отделов (по таблице ЕМР). Оператор SELECT для этого запроса имеет вид:

SELECT dept, MIN(sal), MAX(sal) FROMemp GROUP BY dept