Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornaya_rabota_5.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
198 Кб
Скачать
☆

Select - выбрать.

Обобщенный синтаксис директивы SELECT выглядит так:

SELECT Столбец1 [ , Столбец2 ... , Столбец-nn ]   [ INTO Новая_Таблица ] FROM Таблица1 [ , Таблица2 ... , Таблица-nn ]   [ WHERE Условие_Поиска ]   [ GROUP BY Выражение Группировки ]   [ ORDER BY Выражение Упорядочивания ]

   SELECT - зарезервированное слово SQL-языка, которое и определяет саму директиву.

   Столбец1 ... Столбец-nn - определения столбцов данных, возвращаемых в результате исполнения запроса.

   INTO - зарезервированное ключевое слово SQL-языка, которое предписывает директиве SELECT сохранить результирующий набор данных в Новую Таблицу.

   FROM - зарезервированное ключевое слово SQL-языка, указывающее, что после него следует определение объединения таблиц, согласно которому директива SELECT должна выбирать запрашиваемые данные.

   Таблица1 ... Таблица-nn - определение объединения существующих в базе данных таблиц, данные из которых необходимо выбрать.

  WHERE - зарезервированное ключевое слово SQL-языка, предписывающее выбирать в результирующий набор данных только те записи, которые удовлетворяют Условиям_Поиска.

   Условия_Поиска - SQL-выражение, определяющее для директивы SELECT условия поиска записей.

   GROUP BY - зарезервированные ключевые слова SQL-языка, предписывающие группировку данных в результирующем наборе записей в соответствии с Выражением Группировки.

   Выражение Группировки - SQL-выражение, определяющее для директивы SELECT условия группировки данных в результирующем наборе записей.

   ORDER BY - зарезервированные ключевые слова SQL-языка, предписывающие выполнение упорядочивания данных в результирующем наборе записей в соответствии с Выражением Упорядочивания.

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

Назначение директивы SELECT - отбор данных из одной или нескольких таблиц и представление их запрашивающей стороне в виде результирующего набора записей. SELECT по своему синтаксису является, наверное, наиболее сложной и гибкой директивой по сравнению с остальными, а также и самой функциональной. Для того, что бы все объяснения были наглядными и понятными, вам необходимо создать несколько таблиц и наполнить их данными.

Пример1

Посмотрим содержимое таблицы ex_People:

SELECT * FROM ex_People

 

Таблица ex_People

aKod

fName

mName

lName

akCity

Address

1010

Валентин

Петрович

Густов

1

Листовая 6-15

1034

Григорий

Яковлевич

Сабенко

1

Пустошь 23-28

1045

Андрей

Андреевич

Генадин

2

Рахова 29

1049

Андрей

Сергеевич

Сухов

2

Рабочая 16

1050

Николай

Владимирович

Мухин

3

Мичурина 133-6

1055

Сергей

Рушамович

Агабидзян

2

Соборная 12-44

1066

Владимир

Сергеевич

Суворов

4

Зеленая 15

1933

Борис

Олегович

Кустов

3

Ленина 32-183

2001

Семен

Павлович

Хороший

1

Пугачевская 204-18

Если не указано условие выбора записей (необязательное ключевое слово WHERE), то SELECT возвращает все записи без исключения. Если не указано условие упорядочивания возвращаемого набора записей (необязательные ключевые слова ORDER BY), то SELECT возвращает записи без упорядочивания, в том порядке, как они физически расположены в файлах базы данных. И надо отметить, что физическое размещение записей в файлах может изменяться по самым разным причинам.

В директиве SELECT могут употребляться взаимоисключающие ключевые слова ALL и DISTINCT. Взаимоисключающие, потому что применение одного из этих слов автоматически запрещает применение другого слова. Они указываются в запросе сразу после SELECT:

SELECT ALL ... SELECT DISTINCT ...

   Ключевое слово DISTINCT (отличный, отличающийся) предписывает директиве SELECT возвращать в результирующем наборе только уникальные, неповторяющиеся записи. А ALL (все) - наоборот, предписывает включать в результирующий набор повторяющиеся записи. Ключевое слово ALL используется редко, потому что по умолчанию, когда не указаны ни ALL, ни DISTINCT, SELECT возвращает все найденные записи, включая повторяющиеся. Согласно стандартам SQL-языка повторяющимися считаются записи, в которых данные всех столбцов совпадают.

   Если посмотреть на нашу таблицу ex_People, то в ней нет ни одной повторяющейся записи. Но если мы из этой таблицы запросим только имена людей, ...

SELECT fName FROM ex_People

 

   ...что равносильно запросу, ...

SELECT ALL fName FROM ex_People

 

...то в результирующем наборе записей мы получим две повторяющиеся записи с именем Андрей...

fName

Валентин

Григорий

Андрей

Андрей

Николай

Сергей

Владимир

Борис

Семен

   Именно от таких вот дублирующих записей и позволяет избавляться ключевое слово DISTINCT...

SELECT DISTINCT fName FROM ex_People

 

fName

Валентин

Григорий

Андрей

Николай

Сергей

Владимир

Борис

Семен

Пример2

Из таблицы ex_People выводятся записи из полей fName, mName, при условии, что acod>1066

SELECT fName, mName, lName FROM ex_People WHERE akod>1066

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]