Предложение <Список_выбора>. Синтаксис предложения следующий:
{ * | { <Имя таблицы> | <Псевдоним_таблицы> }.* | { <Имя_столбца> I <Выражение> } [ [ AS ] <Псевдоним_столбца>] | <Псевдоним_столбца> = <Выражение> } [ ,...,n ]
Символ «*» означает включение в результат всех столбцов, имеющихся в списке таблиц раздела from.
Если в результат не нужно включать все столбцы всех таблиц, то можно явно указать имя объекта, из которого необходимо выбрать все столбцы (<Имя_таблицы>.* или <Псевдоним_таблицы>. *).
Отдельный столбец таблицы в результат выборки включается явным указанием имени столбца (параметр <Имя_столбца>). Столбец должен принадлежать одной из таблиц, указанных в разделе from. Если столбец с указанным именем имеется более чем в одном источнике данных, перечисленных в разделе from, to необходимо явно указать имя источника данных, к которому принадлежит столбец в формате <Имя_таблицы>. <Имя_столбца>. В противном случае будет выдано сообщение об ошибке.
Например, попробуем выбрать данные из столбца ID_дисциплина, который имеется В таблицах Дисциплина и Учебный_план:
SELECT ID_Дисциплина, Наименование, Семестр FROM Дисциплина, Учебный_план
В ответ будет выдано сообщение об ошибке, указывающее на некорректное использование имени ID_Дисциплина.
В этом случае необходимо явно указать имя источника данных, которому принадлежит столбец, например:
SELECT Дисциплина.ID_Дисциплина, Наименование, Семестр FROM Дисциплина, Учебный_план
Столбцам, возвращаемым как результат выполнения запроса, могут быть присвоены псевдонимы. Псевдонимы позволяют изменить имя исходного столбца или поименовать столбец, содержимое которого получено как результат вычисления выражения. Имя псевдонима указывается с помощью параметра [AS] <Псевдоним_столбца>. Ключевое слово as необязательно при задании псевдонима. В общем случае сервер не требует уникальности имен столбцов результата выборки, поэтому разные столбцы могут иметь одинаковые имена или псевдонимы.
Столбцы в результате выборки могут быть не только копией столбца одной из исходных таблиц, но и формироваться на основе вычисления выражения. Такой столбец в списке выбора задается с помощью конструкции <Выражение> [[AS] <Псевдоним_столбца>]. Выражение при этом может содержать константы, имена столбцов, функции, а также их комбинации. Дополнительно столбцу, формируемому на основе вычисления выражения, можно присвоить псевдоним, указав его с помощью параметра [AS] <Псевдоним_столбца>. По умолчанию вычисляемый столбец не имеет имени.
Другой способ формирования вычисляемого столбца состоит в использовании конструкции со знаком равенства: <Псевдоним_столбца> = <Выражение>. Единственным отличием этого способа от предыдущего является необходимость обязательного задания псевдонима. В простейшем случае выражение является именем столбца, константой, переменной или функцией. Если в качестве выражения выступает имя столбца, то получаем еще один способ задания псевдонима для столбца.
Рассмотрим следующий пример. Пусть для таблицы Студенты необходимо построить запрос, представляющий фамилию, имя и отчество в одной колонке. Используя операцию конкатенации (сложения) символьных строк и значение ФИО в качестве псевдонима столбца, построим запрос:
SELECT ТОР 10 Фамилия + ' ' + Имя + ' ' + Отчество as ФИО, Номер_Группы FROM Студенты
Рис. 4.9. Использование операции конкатенации символьных строк. Результат поиска — фамилия, имя, отчество в одной колонке
Результат запроса выглядит так, как показано на рис. 4.9.
Раздел FROM
С помощью раздела from определяются источники данных, с которыми будет работать запрос. Синтаксис следующий:
FROM { <Источник_данных> } [,...,n]
На первый взгляд конструкция раздела выглядит простой. Однако при ближайшем рассмотрении он оказывается довольно сложным. В основном работа с разделом from — это перечисление через запятую источников данных, с которыми должен работать запрос. Собственно источник данных указывается с помощью предложения <Источник_данных>, синтаксис которого следующий:
<имя_таблицы> [ [AS] <псевдоним таблицы>]| <связка_таблиц>
С помощью параметра <имя_таблицы> указывается имя обычной таблицы. Параметр <псевдоним_таблицы> используется для присвоения таблице псевдонима, под которым на нее нужно будет ссылаться в запросе. Часто псевдонимы таблиц применяют, чтобы ссылку на нужную таблицу сделать более удобной и короткой. Например, если в запросе часто упоминается имя таблицы Учебный_план, можно воспользоваться псевдонимом, например tpl. Указание ключевого слова as не является при этом обязательным.
Конструкция <связка_таблиц> реализует один из наиболее сложных методов задания источника данных. С помощью нее можно связать данные двух и более таблиц в единый набор данных, указав критерии связывания. Синтаксис конструкции <связка_таблиц> следующий:
<левая_таблица> <тип связывания> <правая таблица> ON <условие связывания>
Конструкция <тип_связывания> описывает тип связывания двух таблиц. Исходная таблица указывается слева от конструкции <тип_связывания> (<левая_таблица>), а справа указывается зависимая таблица (<правая_таблица>).
Общий синтаксис конструкции <тип_связывания> следующий:
[INNER | {{LEFT | RIGHT | FULL } [OUTER] } ] JOIN
Как видно, обязательным в конструкции является ключевое слово JOIN.
Конструкция on <условие_связывания> задает логическое условие связывания двух таблиц. Допустимы операторы сравнения (например, =, <, >, <=, >=, !-, О). Чаще всего используется оператор равенства, например:
ON Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина
В этом примере устанавливается связь между таблицами Учебный_план И Дисциплины ПО столбцу ID Дисциплина, имеющемуся в каждой из таблиц.
Достарыңызбен бөлісу: |