Открытая коллекция знаний

OpenU.Ru

Язык запросов SQL. DML.



Выборка. Синтаксис оператора SELECT

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

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

SELECT BNum, BName, BTown FROM Buyers

Теперь поясним эту команду:

SELECTключевое слово, которое сообщает БД, что эта команда является запросом выборки. Этой командой начинаются все запросы такого типа.

BNum, BName, BTownсписок полей из таблицы, которые необходимо выбрать. Поля, не перечисленные здесь, не будут включены в результат запроса.

FROMключевое слово, которое как и SELECT должно быть представлено в любом запросе такого типа. Оно указывает на источник информации (таблицу). В данном примере указана таблица Buyers.

Не редко, когда из таблицы нужно выбрать все поля, то после ключевого слова SELECT вместо перечисления полей используют символ *. Соответственно тот же запрос можно переписать в следующем виде:

SELECT * FROM Buyers

Опишем правила написания таких запросов в общем случае:

  • Запрос начинается с ключевого слова SELECT, сопровождаемого пробелом;
  • Затем должен следовать список полей, которые необходимо выбрать. Имена полей разделяются между собой запятыми;
  • Ключевое слово FROM сопровождается пробелом и именем таблицы, запрос к которой делается.

Эта команда способна извлечь и строго определенную информацию, такую как вывод только определенных полей таблицы.

Например, выведем номера категорий товара из списка товаров. Запрос будет выглядеть следующим образом:

SELECT GTypeNum FROM Goods

В результате получим:

GTypeNum
1
1
3
2
4
1
1
2

Выбор без повторяющихся значений

При работе с данными часто возникает потребность в удалении избыточных данных. Такая необходимость возникла в предыдущем примере. Категория с номером 1 встречается дважды в результате запроса. Удаление избыточных данных осуществляется при помощи инструкции DISTINCT. DISTINCT – это аргумент, который обеспечивает устранение повторяющихся значений из предложения SELECT. DISTINCT просматривает значения, которые были выведены ранее, и не дает им дублироваться в списке. Таким образом, чтобы избавиться от избыточности, нам необходимо переписать запрос следующим образом:

SELECT DISTINCT GTypeNum FROM GOODS

В результате получим:

GTypeNum
1
3
2
4

Пользоваться этим аргументом следует очень внимательно, и следить за его применением. Следует знать, что DISTINCT может указываться только один раз в данном предложении SELECT. В запросах на выборку данных также допустимы условия, группировки, сортировки данных и другие предикаты и операторы языка SQL.

Содержание