Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лк №14 Управление данными.doc
Скачиваний:
4
Добавлен:
11.11.2019
Размер:
86.02 Кб
Скачать

Ключевое слово 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