Л. Партыка, И. И. Попов системы управления базами данных



бет128/215
Дата29.01.2022
өлшемі4,64 Mb.
#115817
1   ...   124   125   126   127   128   129   130   131   ...   215
Байланысты:
Голицына О Л Партыка Т Л Попов И И Системы

Предложение <Список_выбора>. Синтаксис предложения следующий:

{ * | { <Имя таблицы> | <Псевдоним_таблицы> }.* | { <Имя_столбца> 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 Дисциплина, имеющемуся в каждой из таблиц.





Достарыңызбен бөлісу:
1   ...   124   125   126   127   128   129   130   131   ...   215




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет