SQL-сервер ВЫБРАТЬ

Краткое содержание: В этом руководстве вы познакомитесь с основами оператора SELECT в SQL Server, уделив особое внимание извлечению данных из одной таблицы.

Базовый оператор SELECT SQL Server

В SQL Server таблицы — это объекты, которые хранят все данные в базе данных. Они организуют данные в формате строк и столбцов, подобно электронной таблице. Каждая строка представляет собой уникальную запись в таблице, а каждый столбец представляет собой поле в этой записи.

Например, следующая таблица «Клиенты» содержит данные о клиенте, такие как идентификатор клиента, имя, фамилия, телефон, адрес электронной почты и адрес:

Таблица клиентов

SQL Server использует схемы для логической группировки таблиц и других объектов базы данных. Например, наш образец базы данных имеет две схемы: продажи и производство.

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

Для извлечения данных из таблицы используется оператор SELECT со следующим синтаксисом:

SELECT
    select_list
FROM
    schema_name.table_name;

В этом синтаксисе:

  • Сначала укажите список столбцов, разделенных запятыми, из которых вы хотите запросить данные в предложении SELECT.
  • Во-вторых, укажите имя таблицы и ее схему в предложении FROM.

При обработке оператора SELECT SQL Server сначала обрабатывает предложение FROM, а затем предложение SELECT, даже если предложение SELECT появляется перед предложением FROM:

SQL Server SELECT - оценка порядка предложений

Примеры операторов SELECT SQL Server

Давайте для демонстрации воспользуемся таблицей «Клиенты» из образца базы данных.

1) Пример простого оператора SELECT SQL Server

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

SELECT
    first_name,
    last_name
FROM
    sales.customers;

Вот результат:

выборка сервера sql - некоторые столбцы

Результат запроса часто называют набором результатов.

В следующем операторе оператор SELECT используется для извлечения имени, фамилии и адреса электронной почты всех клиентов:

SELECT
    first_name,
    last_name,
    email
FROM
    sales.customers;

Выход:

выбор сервера sql - выбор трех столбцов

2) Использование SQL Server SELECT для извлечения всех столбцов таблицы

Чтобы извлечь данные из всех столбцов таблицы, вы можете указать все столбцы в списке SELECT. В качестве альтернативы вы также можете использовать SELECT * как сокращение для выбора всех столбцов:

SELECT * FROM sales.customers;

выбор сервера sql - выбрать все столбцы

Использование SELECT * полезно для изучения таблицы, с которой вы не знакомы, и особенно полезно для специальных запросов.

Однако не следует использовать SELECT * в производственном коде по следующим основным причинам:

  • Во-первых, использование SELECT * часто извлекает больше данных, чем нужно вашему приложению. Эти ненужные данные требуют больше времени для передачи с сервера базы данных в приложение, замедляя работу приложения.
  • Во-вторых, если в таблицу добавляются новые столбцы, SELECT * извлечет все столбцы, включая новые, которые ваше приложение может не ожидать. Это может потенциально привести к неожиданному поведению приложения.

В следующем разделе мы кратко рассмотрим дополнительные предложения оператора SELECT:

  • ГДЕ : фильтрация строк в результирующем наборе.
  • ORDER BY : сортировка строк в результирующем наборе по одному или нескольким столбцам.
  • GROUP BY : группирует строки в группы.
  • ИМЕЕТ : группы фильтров.

Обратите внимание, что мы рассмотрим эти положения более подробно в следующих уроках.

3) Фильтрация строк с использованием предложения WHERE

Чтобы отфильтровать строки на основе одного или нескольких условий, используйте предложение WHERE.

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

SELECT
    *
FROM
    sales.customers
WHERE
    state = 'CA';

SQL Server Select - предложение where

Если оператор SELECT включает предложения WHERE и FROM, SQL Server обрабатывает их в следующей последовательности: FROM, WHERE и SELECT.

SQL Server SELECT - откуда выбрать

4) Сортировка строк с использованием предложения ORDER BY

Для сортировки строк в результирующем наборе на основе используйте предложение ORDER BY. Например, следующий запрос использует предложение ORDER BY для сортировки клиентов по их именам в порядке возрастания.

SELECT
    *
FROM
    sales.customers
WHERE
    state = 'CA'
ORDER BY
    first_name;

Выход:

SQL Server Select - заказ по предложению

Если оператор SELECT включает предложения FROM, WHERE и ORDER BY, SQL Server обрабатывает их в следующем порядке: FROM, WHERE, SELECT и ORDER BY:

SQL Server SELECT - откуда выбрать порядок

5) Группировка строк в группы

Чтобы объединить строки в группы, используйте предложение GROUP BY.

Например, следующий оператор возвращает все города клиентов, расположенных в Калифорнии, и количество клиентов в каждом городе.

SELECT
    city,
    COUNT(*)
FROM
    sales.customers
WHERE
    state = 'CA'
GROUP BY
    city
ORDER BY
    city;

SQL Server Select - группировка по предложению

В этом случае SQL Server обрабатывает предложения в следующем порядке: FROM, WHERE, GROUP BY, SELECT и ORDER BY.

6) Фильтрация групп с использованием предложения HAVING

Для фильтрации групп на основе одного или нескольких условий используйте предложение HAVING.

Например, в следующем операторе используется предложение HAVING для возврата города в Калифорнии, в котором проживает более десяти клиентов:

SELECT
    city,
    COUNT(*)
FROM
    sales.customers
WHERE
    state = 'CA'
GROUP BY
    city
HAVING
    COUNT(*) > 10
ORDER BY
    city;

SQL Server Select - предложение с предложением

Обратите внимание, что предложение WHERE фильтрует строки, а предложение HAVING фильтрует группы.

Краткое содержание

  • Используйте оператор SQL Server SELECT для извлечения данных из таблицы.
Мирослав С.

Автор статей, ИБ-специалист