SELECT SQL Server

В этом учебном пособии вы узнаете, как использовать в SQL Server (Transact-SQL) оператор SELECT с синтаксисом и примерами.

Описание

Оператор SELECT SQL Server (Transact-SQL) используется для извлечения записей из одной или нескольких таблиц в базе данных SQL Server.

Синтаксис

В простейшей форме синтаксис оператора SELECT в SQL Server (Transact-SQL):

SELECT expressions
FROM tables
[WHERE conditions];

Полный синтаксис оператора SELECT в SQL Server (Transact-SQL):

SELECT [ ALL | DISTINCT ]
[ TOP (top_value) [ PERCENT ] [ WITH TIES ] ]
expressions
FROM tables
[WHERE conditions]
[GROUP BY expressions]
[HAVING condition]
[ORDER BY expression [ ASC | DESC ]];

Параметры или аргументы

ALL - необязательный. Возвращает все соответствующие строки.
DISTINCT - необязательный. Удаляет дубликаты из набора результатов. Подробнее об операторе DISTINCT ...
TOP (top_value) - необязательный. Если указано, то он вернет верхнее число строк в результирующем наборе на основе top_value. Например, TOP (10) вернет первые 10 строк из полного набора результатов.
PERCENT - необязательный. Если указано, то верхние строки основаны на проценте от общего набора результатов (как указано в верхнем значении). Например, TOP (10) PERCENT вернет верхние 10% полного набора результатов.
WITH TIES - необязательный. Если указано, то строки, привязанные на последнем месте в ограниченном результирующем наборе, возвращаются. Это может привести к возврату большего количества строк, чем позволяет параметр TOP.
expressions - столбцы или вычисления, которые вы хотите получить. Используйте *, если вы хотите выбрать все столбцы.
tables - таблицы, из которых вы хотите получить записи. Должна быть хотя бы одна таблица, перечисленная в предложении FROM.
WHERE conditions - необязательный. Условия, которые должны быть выполнены для выбранных записей.
GROUP BY expressions - необязательный. Он собирает данные по нескольким записям и группирует результаты по одному или нескольким столбцам.
HAVING condition - необязательный. Он используется в сочетании с GROUP BY, чтобы ограничить группы возвращаемых строк только теми, чье условие TRUE.
ORDER BY expression - необязательный. Он используется для сортировки записей в вашем результирующем наборе. ASC сортируется в порядке возрастания, а DESC - в порядке убывания.

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

Рассмотрим пример, как использовать SQL Server SELECT для выбора всех полей из таблицы.

В этом примере SQL Server SELECT мы использовали *, чтобы указать, что мы хотим выбрать все поля из таблицы inventory, где quantity больше 5. Набор результатов сортируется по полю inventory_id в порядке возрастания.

Пример выборки отдельных полей из одной таблицы.

Вы также можете использовать SQL Server оператор SELECT для выбора отдельных полей из таблицы.
Например:

Этот пример SQL Server SELECT возвращает только данные inventory_id, inventory_type и quantity из таблицы inventory, где inventory_id больше или равно 250, а inventory_type - это 'Программное обеспечение’. Результаты сортируются по quantity в порядке убывания, а затем inventory_id в порядке возрастания.

Пример выборки полей из нескольких таблиц.

Вы также можете использовать оператор SELECT SQL Server для извлечения полей из нескольких таблиц с помощью объединения (join).
Например:

Этот пример SQL Server SELECT объединяет вместе две таблицы, чтобы предоставить нам набор результатов, который отображает поля inventory_id, product_name и quantity, где значение product_id совпадает как в таблице inventory, так и в products. Результаты сортируются по inventory_id в порядке возрастания.

Пример использования ключевого слова TOP

Давайте посмотрим на пример SQL Server, где мы используем ключевое слово TOP в операторе SELECT.
Например:

Этот пример SQL Server SELECT выберет первые 3 записи из таблицы inventory, где inventory_type будет 'Программное обеспечение'. Если в таблице inventory есть другие записи, которые имеют значение inventory_type 'Программное обеспечение', они не будут возвращаться оператором SELECT.

Пример использования ключевого слова TOP PERCENT

Рассмотрим пример SQL Server, в котором мы используем ключевое слово TOP PERCENT в операторе SELECT.
Например:

Этот пример SQL Server SELECT будет выбирать первые 10% записей из полного набора результатов. Таким образом, в этом примере оператор SELECT вернет 10% записей из таблицы inventory, где inventory_type - это 'Программное обеспечение'. Остальные 90% набора результатов не будут возвращены оператором SELECT.