Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа_Оператор SELECT_1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
258.56 Кб
Скачать

Лабораторная работа «Оператор select»

часть1

Оператор SELECT имеет следующий формат:

SELECT [DISTINCT | ALL] {* | <значение1> [, <значение2> ...]}

FROM <таблица1> [, < таблица2> ...]

[WHERE <условия_поиска>]

[GROUP BY столбец [COLLATE collation} [,столбец! [COLLATE collation] ...]

[HAVING < условия поиска >]

[UNION <оператор select>]

[PLAN <план выполнения_запроса>]

[ORDER BY <список_столбцов>]

1. Простейший вид оператора select

В простейшем случае оператор SELECT имеет вид:

SELECT {* | <значение1> [, <значение2> ...]}

FROM <таблица1>

После ключевого слова FROM приводится список ТБД, из которых будет происходить выборка данных.

После ключевого слова SELECT приводится список значений. В большинстве случаев это имена столбцов таблиц, перечисленных после слова FROM. Звездочка '*' указывает, что в результат выполнения запроса нужно включить все столбцы той или иной таблицы.

Пример. Выдать набор данных, состоящий из всех столбцов и всех записей из таблицы RASHOD.

SELECT *

FROM RASHOD

что эквивалентно

SELECT N_RASH, DAT_RASH, KOLVO, TOVAR, POKUP

FROM RASHOD

2. Использование предложения where

С использованием предложения WHERE оператор SELECT имеет следующий формат:

SELECT {* | <значение1> [, <значение2> ...]}

FROM <таблица1> [, < таблица2> ...]

WHERE <условия поиска>

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

2.1. Сравнение значения столбца с константой

При сравнении значения столбца с константой условие поиска имеет вид

<имя столбца> <оператор> константа

где в качестве оператора могут выступать операции отношения

= равно < меньше > больше

<= меньше или равно или !> не больше (т.е. меньше или равно)

>= больше или равно или !< не меньше (т.е. больше или равно)

<> не равно или != не равно

В качестве константы могут выступать строковые и числовые значения.

Пример. Показать все операции отпуска товаров объемом 20 единиц

SELECT *

FROM RASHOD R

WHERE KOLVO=20

2.2. Сравнение значения столбца из одной таблицы со значением столбца из другой таблицы (внутреннее соединение)

При сравнении значения столбца одной таблицы со значением столбца из другой таблицы условие поиска имеет вид

<имя столбца таблицы 1> <оператор> <имя столбца таблицы 2>

Пример. Выдать все записи о расходе товара из таблицы RASHOD. Для каждого товара выдать его цену из таблицы ТОVARY

SELECT RASHOD.*, TOVARY.ZENA

FROM RASHOD, TOVARY

WHERE RASHOD.TOVAR = TOVARY.TOVAR

При выполнении оператора SELECT для каждой записи из таблицы RASHOD ищется запись в таблице TOVARY, у которой значение в поле TOVAR совпадает со значением в поле TOVAR текущей записи таблицы RASHOD

При этом безразлично, в каком порядке перечислять таблицы в условии поиска, т.е безразлично, какая из таблиц будет упомянута слева, а какая справа. Таким образом, следующие условия поиска идентичны

RASHOD. TOVAR = TOVARY. TOVAR идентично условию

TOVARY.TOVAR = RASHOD.TOVAR

Такой способ соединения таблиц называется внутренним соединением

Пример. Выдать все записи о расходе товара из таблицы RASHOD Для каждого покупателя выдать его адрес из таблицы POKUPATELI

SELECT RASHOD.*, POKUPATELI.ADRES

FROM RASHOD, POKUPATELI

WHERE POKUPATELI.POKUP = RASHOD.POKUP