Использование SQL для выбора данных из информационных систем. Синтаксическая диаграмма оператора SELECT.

Синтаксическая диаграмма оператора, показанная на рисунке 13.1, представляет собой описание его конструкции, дает представление о том, какие элементы могут содержаться в операторе и в каком порядке они могут следовать друг за другом.Как видно из рисунка 13.1, оператор SELECT может состоять из шести предложений, только два из которых являются обязательными (SELECT и FROM). Необязательные предложения следует записывать в том порядке, как указано на рисунке 13.1: WHERE, GROUP BY, HAVING, ORDER BY. Предложение SELECT содержит список возвращаемых столбцов.Предложение FROM содержит список источников данных, необходимых для получения конечного результата.Предложение WHERE служит для отбора строк из указанных в предложении FROM источников, удовлетворяющих заданному условию.Предложение GROUP BY позволяет сформировать из строк группы по одинаковым значениям в указанных столбцах группировки. Группировка строк используется в итоговых запросах (будут рассмотрены позже).Предложение HAVING служит для отбора групп строк, сформированных предложением GROUP BY.Предложение ORDER BY позволяет отсортировать результаты запроса.

Использование SQL для выбора данных из информационных систем. Синтаксическая диаграмма оператора SELECT. - student2.ru

Примечание. Очень часто в различных предложениях оператора SELECT могут использоваться так называемые выражения. В качестве выражения могут выступать имена столбцов таблиц, константы, а также их комбинации с математическими действиями.

Предложения SELECT и FROM оператора SELECT языка SQL. Оформление таблицы результатов запроса. Соединение таблиц в операторе FROM. Способы соединения таблиц.

Предложение SELECT После служебного слова SELECT перечисляются имена столбцов, значения которых будут входить в результат выполнения запроса. Столбцы в результирующей таблице размещаются в том порядке, в котором они были указаны в предложении SELECT. Имена столбцов указываются через запятую. Если имя столбца содержит пробелы или разделители, то его необходимо заключить в квадратные скобки. При обработке данных из разных таблиц может возникнуть ситуация, когда столбцы разных таблиц имеют одинаковые имена. В этом случае имя столбца необходимо записывать как составное, указывая перед ним имя соответствующей таблицы: <Имя таблицы>.<Имя столбца> Предложение FROM В предложении FROM перечисляются имена таблиц, которые содержат столбцы, указанные после слова SELECT.

Соединение таблиц – это набор результатов от операции соединения, выполненной над двумя или несколькими таблицами. При выполнении соединения имена таблиц перечисляются в предложении запроса FROM, результатом запроса будет декартово произведение таблиц, т.к. не определены связи между таблицами. SELECT список_полей

FROM таблица_1 , таблица_2


15. Предложение WHERE оператора SELECT языка SQL. Условия отбора строк. Проверки простого и многократного сравнения, проверка на принадлежность диапазону значений,

Предложение WHERE содержит предикат, который может включать одно или несколько выражений и принимать одно из трех значений: TRUE, FALSE или UNKNOWN. Сравнение значения NULL с другим значением (в том числе и NULL) дает результат UNKNOWN. Другие значения сравниваются в соответствии с последовательностями сортировки для строк текста, с порядком числовых значений для числовых типов, хронологическим порядком для данных типа дата-время или по величине значения (для данных типа INTERVAL). Сравнения осуществляются с помощью операторов =, <, <=, >, >= и <> (не равно). Применение таких операторов, как * (умножение) или | (конкатенация), зависит от типа данных. В большинстве случаев вместо простых выражений можно использовать конструкторы значений строк.

B BETWEEN A AND CЭто выражение эквивалентно: (A<=B) AND (B<=C). ПараметрA должен быть меньшеC. ВыражениеB BETWEEN С AND A будет интерпретироваться как (C<=B) AND (B<=A), и оно имело бы значениеFALSE при значении выражения (A<=B) AND (B<=C) равномTRUE, за исключением случая, когда все три величины одинаковы. Если один из параметров равенNULL, значение предиката не определено.

A IN (C, D, …)Это выражение будет истинным, если A равняется одному из значений, включенных в список.

A LIKE ‘строка’В этом случае подразумевается, что A – строка символов, и операция заключается в поиске указанной подстроки. При этом можно использовать строку фиксированной длины или строку с шаблоном подстановки.

AISNULLЭто выражение проверяет, является ли A значением NULL, В отличие от большинства других предикатов результат данного предиката может быть только TRUE или FALSE (не UNKNOWN).

Aоператор_сравненияSOME|ANYподзапросSOME и ANY имеют одинаковый смысл. Результатом подзапроса является набор величин. Если для какого-нибудь значения X, получаемого из подзапроса, результат операции «А оператор_сравненияX» равняется TRUE, то предикат ANY также равен TRUE.

Aоператор_сравненияALLподзапросИсполняется так же, как и ANY, но для всех значений X, получаемого из подзапроса, результат операции «А оператор_сравненияX» должен равняться TRUE.

EXISTS подзапросЕсли в результате подзапросанайдена хотя бы одна строка, предикат равняетсяTRUE, в противном случае –FALSE. Результат никогда не может бытьUNKNOWN. Это выражение имеет смысл только для зависимого подзапроса.

UNIQUE подзапросЕсли подзапросне находит идентичных строк, то значениеUNIQUE равняетсяTRUE, в противном случае –FALSE. В этом предикате подразумевается, что идентичные строки не содержат значенияNULL. В противном случае строки не идентичны.

Наши рекомендации