Методическое пособие для самостоятельного изучения основ языка SQL

Страницы работы

Фрагмент текста работы

Кроме этого в блоке FROM может указываться соединение таблиц, представлений и результатов выполнения вложенных запросов. В стандарте SQL2 поддерживаются внутренние, внешние (левые, правые и полные) соединения и декартово произведение.

Любому исходному отношению может быть назначен псевдоним. Впоследствии, для обращения к какому-либо столбцу этого отношения нужно сначала указать псевдоним, а затем через точку имя нужного столбца. Например:

SELECT db1.fname, db2.sname

FROM database1 AS db1, database2 db2

Ключевое слово AS при задании псевдонима может не указываться, как это сделано с псевдонимом db2 в примере. Его указание только повышает читабельность и понятность запроса и не является обязательным.

5.4. Блок WHERE (отбор строк).

Блок WHERE предназначен для указания, какие строки нужно отобрать из исходного отношения. При выполнении запроса, в котором имеется блок WHERE СУБД просматривает все строки в исходном отношении, применяя к каждой из них условие отбора. Если в условии отбора встречается имя столбца, то используется значение этого столбца из текущей строки. Для каждой из строк условие отбора может принимать одно из трех значений:

·  если условие отбора имеет значение TRUE, строка будет включена в результаты запроса;

·  если условие отбора имеет значение FALSE, строка не будет включена в результаты запроса;

·  если условие отбора имеет значение NULL, строка не будет включена в результаты запроса.

В SQL используется множество условий отбора. Ниже рассматриваются пять основных.

5.4.1. Сравнение.

Наиболее распространенным условием отбора в SQL является сравнение. При сравнении СУБД вычисляет и сравнивает значения двух выражений для каждой строки данных. Выражения могут содержать имена столбцов, константы, арифметические и логические операции и функции. В SQL имеется шесть различных способов сравнения двух выражений:

·  значения выражений равны (=);

·  значения выражений не равны (<>);

·  значение первого выражения меньше  значения второго (<);

·  значение первого выражения меньше либо равно значению второго (<=);

·  значение первого выражения больше значения второго (>);

·  значение первого выражения больше либо равно значению второго (>=);

В стандарте SQL проверка на неравенство записывается как “Expr1 <> Expr2”. Однако в ряде СУБД используются альтернативные системы записи, как, например, “Expr1 != Expr2” в MS SQL Server. Иногда такая форма записи является единственной, а иногда – только одной из допустимых.

Например, запрос:

SELECT name, stipendia

FROM students

WHERE stipendia > 200;

выдаст список студентов, у которых размер стипендии превышает 200руб.

При сравнении значений двух выражений, если хотя бы одно из них имеет значение NULL, результатом сравнения будет NULL.

5.4.2. Проверка на принадлежность диапазону значений.

При данной форме условия отбора проверяется, находится ли элемент данных в диапазоне между двумя заданными значениями. В условие отбора входят три выражения. Первое выражение определяет проверяемое значение, второе и третье выражения определяют верхний и нижний пределы проверяемого диапазона. Типы данных трех выражений должны быть сравнимы.

При проверке на принадлежность диапазону верхний и нижний пределы считаются частью диапазона.

Например, следующий запрос выдаст список студентов с третьего по пятый курсы:

SELECT name, kurs

FROM students

WHERE kurs BETWEEN 3 AND 5;

Инвертированная версия проверки на принадлежность диапазону позволяет выбрать значения, которые находятся за пределами указанного диапазона. Например, следующий запрос является эквивалентом предыдущего

Похожие материалы

Информация о работе