double arrow

Ключевое слово SELECT

Примеры

Следующая инструкция выбирает столбцы из таблицы:

SELECT JOB_GRADE, JOB_CODE, JOB_COUNTRY, MAX_SALARY FROM PROJECT;

Следующая инструкция использует шаблон *, что бы выбрать все столбцы и строки из таблицы:

SELECT * FROM COUNTRIES;

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

SELECT COUNT (*) FROM COUNTRY

WHERE POPULATION > 5000000;

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

SELECT C.CITY FROM CITIES C

WHERE C.POPULATION < 1000000;

Следующая инструкция выбирает два столбца и сортирует возвращенные строки по второму столбцу:

SELECT CITY, STATE FROM CITIES

ORDER BY STATE;

Следующая инструкция выполняет левое объединение:

SELECT CITY, STATE_NAME FROM CITIES C

LEFT JOIN STATES S ON S.STATE = C.STATE

WHERE C.CITY STARTING WITH "San";

Следующая инструкция определяет план оптимизации запроса для упорядоченного поиска, использование индекса для упорядочивания:

SELECT * FROM CITIES ORDER BY CITY

PLAN (CITIES ORDER CITIES_1);

Следующая инструкция определяет план оптимизации запроса основывающийся на тройном объединении с двумя индексированными равенствами столбцов:

SELECT * FROM CITIES C, STATES S, MAYORS M

WHERE C.CITY = M.CITY AND C.STATE = M.STATE

PLAN JOIN (STATE NATURAL, CITIES INDEX DUPE_CITY,

MAYORS INDEX MAYORS_1);

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

Синтаксис простого оператора SELECT следующий.

SELECT [ * | ALL | DISTINCT СТОЛБЕЦ1, СТОЛБЕЦ2 ] FROM ТАБЛИЦА1 [ , ТАБЛИЦА2 ];

За ключевым словом SELECT в запросе следует список столбцов, значения которых вы хотели бы видеть в результате запроса. За ключевым словом FROM следует список таблиц, из которых должны извлекаться данные. Звездочка (*) используется для указания того, что в результате запроса должны быть показаны значения всех столбцов таблицы. По поводу ее использования обратитесь к документации той реализации SQL, с которой работаете вы. Опция ALL используется тогда, когда нужно показать все значения столбца, включая и повторяющиеся. Опция DISTINCT используется для того, чтобы повторения исключить. Из этих опций используемой по умолчанию опцией является ALL, которую поэтому указывать не обязательно. Обратите внимание на то, что имена столбцов в списке, следующем за ключевым словом SELECT, разделяются запятыми, точно так же, как имена таблиц, следующие за ключевым словом FROM.

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

Аргументы – это значения, предусмотренные в синтаксисе оператора или команды SQL. Аргументы могут быть как обязательными, так и необязательными.

Основные возможности оператора SELECT раскрываются в следующих примерах.

Выполним простой запрос по отношению к таблице PRODUCTS_TBL:

SELECT * FROM PRODUCTS_TBL;

Звездочка означает выбор всех столбцов таблицы, которая, как видите, состоит из трех столбцов PROD_ID, PROD_DESC и COST. При выводе столбцы показываются в том порядке, в котором они расположены в таблице. В данной таблице 11 записей, на что указывает последняя строка вывода. Содержимое этой строки зависит от конкретной реализации SQL, например, в Oracle это будет 11 rows selected, а в другой реализации эта строка может выглядеть как 11 rows affected.

Теперь выберем данные из таблицы CANDY_TBL. Создадим эту таблицу из таблицы PRODUCTS_TBL специально для данного примера. Чтобы показать данные только одного столбца, укажем имя столбца после ключевого слова SELECT

SELECT PROD_DESC FROM CANDY_TBL;

PROD_DESC

СЛАДКАЯ КУКУРУЗА

СЛАДКАЯ КУКУРУЗА

ШОКОЛАД HERSHEYS

СНИКЕРС

В таблице CANDY_TBL четыре записи. В следующем примере для отображения всех записей используется опция ALL, чтобы показать, что эта опция необязательна и вообще лишняя. Нет необходимости указывать ALL, поскольку эта опция подразумевается по умолчанию.

SELECT ALL PROD_DESC FROM CANDY_TBL;

В следующем операторе использована опция DISTINCT, чтобы подавить вывод повторяющихся строк. Обратите внимание на то, что здесь значение СЛАДКАЯ КУКУРУЗА напечатано только один раз.

SELECT DISTINCT PROD_DESC FROM CANDY_TBL;

PROD_DESC

СЛАДКАЯ КУКУРУЗА

ШОКОЛАД HERSHEYS

СНИКЕРС

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

SELECT DISTINCT (PROD_DESC) FROM CAHDY_TBL;


Сейчас читают про: