Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОС_ответы.doc
Скачиваний:
35
Добавлен:
27.10.2018
Размер:
21.59 Mб
Скачать

12 Оператор Select. Речення From . Синтаксис. Використання. Навести приклади.

Запись операторов SQL

SQL –оператор состоит из зарезервированных слов и слов, определяемых пользователем

  • Зарезервированные слова нельзя разбивать на части для переноса на другую строку

  • Слова, определяемых пользователем, представ-ляют собой имена объектов базы данных

  • Слова в операторе расставляются в соответствии с установленными синтаксическими правилами

  • В конце оператора ставиться символ ;

  • Символьные литералы- данные должны вводиться с учетом регистра

Правила записи операторов SQL

  • Каждая фраза начинается с новой строки.

  • Если фраза имеет несколько частей, каждая часть должна начинаться с новой строки с некоторым отступом относительно начала фразы, что указывает на её подчиненность.

  • Перед именем атрибута указывается через точку имя таблицы, которой принадлежит этот атрибут.

  • Если данные извлекаются только из одной таблицы, то допускается не указывать её имя перд именем атрибута.

Построение запросов с помощью оператора SELECT

Назначение: выборка или отображение одной или нескольких таблиц.

Результатом выполнения оператора SELECT всегда является таблица.

SELECT [ALL | DISTINCT] {* [<список полей> [AS <новое имя>]][,….]|*)

FROM <имя таблицы> [alias][,…]

[WHERE < Предикат-условие выборки или соединения >]

[GROUP BY < Список полей >]

[HAVING < Предикат-условие для группы >]

[ORDER BY <Список полей, по которым упорядочить вывод>]

ALL – выборка всех строк таблицы без удаления дубликатов

DISTINCT – выборка строк с удалением дубликатов

Alias – псевдоним таблицы

SELECT устанавливается, какие столбцы должны быть в выходной таблице

FROM определяются имена используемых таблиц

WHERE задаются условия фильтрация строк в соответствии с заданными условиями

GROUP BY образуются группы строк, имеющие одно и то же значение в столбце

HAVING фильтруются группы строк в соответствии с указанным условием

ORDER BY определяется упорядоченность результатов выполнения оператора.

Примеры использования оператора SELECT

Пример 1 Выбрать все данные из таблицы Р

SELECT *

FROM P;

В результате получим новую таблицу, содержа-щую полную копию данных из исходной таблицы.

Пример 2 Создать список студентов, с указанием их ФИО и группы

SELECT ФИО, Группа

FROM Студенты;

13 Відбирання рядків у запитах. Синтаксис. Навести приклад.

Выбор строк WHERE <условие выборки

В предложении WHERE определяются ограничения набора строк, помещаемых в результирующую таблицу запроса. Условия, задаваемые для отбора строк, называются предикатами. В предложении WHERE нельзя использовать обобщающие функции

Предикаты, используемые в предложении WHERE :

Сравнение сравниваются результаты вычислений двух выражений. Предикаты сравнения { =, <>, >,<, >=,<= }. В предикатах сравнения могут использоваться сложные условия поиска, объединяемые логическими операторами AND или OR.

Пример: Сложные условия поиска - Перечислить всех преподавателей – доцентов кафедры Физики

SELECT Преподаватели.*

FROM Преподаватели

WHERE Кафедра= “Физики” and Должность = “Доцент”;

* - выборка всех полей из таблицы Преподаватели

Диапазон- проверяется, попадает ли результат вычисления в заданный диапазон значений. Предикат BETWEEN A AND В — принимает значения между А и В, включая границы диапазона.

Пример: Использование диапазонов. Найти всех преподавателей, родившихся между 1949 и 1953 годами.

SELECT Преподаватели.*, Преподаватели.[Дата рождения]

FROM Преподаватели

WHERE Преподаватели.[Дата рождения] Between #1/1/1949# And #12/31/1953#;

Принадлежность к множеству- проверяется, принадлежит ли результат к заданному множеству значений. Предикат вхождения в множество IN (NOT IN) (множество) истинен тогда, когда сравниваемое значение входит (не входит) в множество заданных значений.

Пример: Условия поиска с проверкой вхождения во множество (IN / NOT IN).

SELECT Преподаватели.* (все столбцы)

FROM Преподаватели

WHERE Должность IN ("Доцент");

Соответствие шаблону – проверяется, отвечает ли некоторое строковое значение заданному шаблону. Предикаты сравнения с образцом LIKE и NOT LIKE

% или * - любая последовательность символов,

_значение одиночного символа.

Пример: Условия поиска с указанием шаблонов

Список всех сотрудников, проживающих на улице Горького

SELECT Преподаватели.*

FROM Преподаватели

WHERE Адрес LIKE "*Горького*" – адрес, содержащий набор символов «Горького»

Значение NULL- проверяется, содержит ли заданный столбец определитель NULL:

< атрибут> IS NULL или < атрибут> IS NOT NULL

Пример: Использование значения NULL в условиях поиска

Выбрать всех студентов, которые не сдавали экзаменов

SELECT Фамилия, Экзамен

FROM Сесия

WHERE Оценка IS NULL;