- •1 Управление данными - select Управление данными
- •Извлечение данных — команда select
- •Раздел select
- •Ключевые слова all| distinct
- •Ключевое слово top n [persent]
- •Раздел from
- •Ключевое слово inner
- •Ключевое слово left [outer]
- •Ключевое слово right [outer]
- •Ключевое слово full [outer]
- •Раздел where
- •Оператор between
- •Оператор in
- •Оператор like
- •Раздел order by
- •Должность
Ключевое слово top n [persent]
Использование ключевого слова TOP n, где n-числовое значение, позволяет отобрать в результат не все строки, а только первые n. При этом отбираются первые строки результата выборки, а не исходных данных. Если в запросе используется раздел WHERE, то ключевое слово TOP работает с набором строк, возвращенных после применения логического условия, определенного в разделе WHERE.
Можно выбрать не фиксированное количество строк, а определенный процент от всех строк, удовлетворяющих условию. Для этого необходимо добавить ключевое слово PERSENT.
Предложение <Список_выбора>
Синтаксис:
<Список_выбора>::={*|{<Имя_таблицы>|<Псевдоним_таблицы>}.*
|{<Имя_столбца>|<Выражение>}|
[[AS] ,<Псевдоним_столбца>]
|<Псевдоним_столбца>=<Выражение>
}[,…,n]
Символ * означает включение в результат всех столбцов, имеющихся в списке таблиц раздела FROM.
Если в результат не нужно включать все столбцы всех таблиц, то можно явно указать имя объекта, из которого необходимо выбрать все столбцы (<Имя_таблицы>.* или <Псевдоним_таблицы>.*)
SELECT Дисциплина.ID_Дисциплина, Наименование, Семестр
FROM Дисциплина, Учебный_план
Раздел from
С помощью раздела FROM определяются источники данных, с которым будет работать запрос.
Синтаксис раздела FROM следующий:
FROM {<Источник_данных>}[,…, n]
в основном работа с разделом FROM- это перечисление через запятую источников данных, с которыми должен работать запрос.
Синтаксис: {<Источник_данных>::=<имя_таблицы>[[AS]<псевдоним_таблицы>]|<связка_таблиц>
Конструкция <связка_таблиц> реализует один из наиболее сложных методов задания источника данных. С помощью нее можно связать данные двух и более таблиц в единый набор данных, указав критерии связывания. Синтаксис конструкции <связка_таблиц> следующий:
<связка_таблиц>::=<левая_таблица><тип_связывания><правая_таблица>ON <условие_связывания>
Конструкция <тип_связывания> описывает тип связывания двух таблиц. Исходная таблица указывается слева от конструкции <тип_связывания> (<левая-таблица>), а справа указывается зависимая таблица (<правая_таблица>)
Общий синтаксис конструкции следующий:
<тип_связывания>::=[INNER | {{LEFT| RIGHT | FULL} [OUTER]}] JOIN
Обязательным является ключевое слово JOIN.
Конструкция ON<условие связывания> задает логическое условие связывания двух таблиц. Допустимы операторы сравнения (=, <,>,<=,>=,<>). Например
ON Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина.
В этом примере устанавливается связь между двумя таблицами «Учебный_план» и «Дисциплины» по столбцу ID_Дисциплина, имеющемуся в каждой из таблиц.
Ключевое слово inner
Этот тип связи используется по умолчанию. Указание словосочетания INNER JOIN равносильно указанию только ключевого слова JOIN. В качестве кандидатов на включение в результат запроса рассматриваются пары строк, удовлетворяющие критерию связывания в обеих таблицах. Затем строки из левой таблицы, для которых не имеется пары в связанной таблице, в результат не включаются. Также не включаются в результат и строки правой таблицы, для которых нет соответствующей строки в левой таблице.
Пример.
SELECT Наименование, Семестр, Количество_часов
FROM Учебный_план INNER JOIN Дисциплины ON
Учебный_план. ID_Дисциплина = Дисциплины.ID_Дисциплина
WHERE Количество_часов > 60
