SQL

Теория: Запросы на выборку

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

Запросы из этого и следующих уроков можно повторить локально, используя подготовленную базу данных или сервис DB Fiddle.

Как сделать выборку данных

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

Для начала рассмотрим простую его форму:

SELECT * FROM users;

View on DB Fiddle

Схематично его можно обозначить так:

Select-all

Этот запрос достает все содержимое таблицы users. Звездочка в примере означает все поля. Если поля нужны не все, то достаточно перечислить их через запятую вместо звездочки:

SELECT username, email FROM users;

View on DB Fiddle

На схеме обозначается так:

Select-columns

Поля необязательно перечислять в том же порядке, в котором они идут в таблице:

SELECT first_name, email, username FROM users;

View on DB Fiddle

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

Давайте составим запрос, который с первого взгляда должен делать то же самое — выбирать поля из таблицы users и перевести его можно так же как и предыдущий. Из таблицы users выбрать указанные поля:

FROM users SELECT first_name, email, username;

Такой запрос не выполнится, хотя в нем и присутствуют те же операторы. Дело в том, что при составлении запроса очень важен порядок операторов:

  1. Сначала указываем оператор SELECT
  2. Затем перечисляем столбцы
  3. Потом идет оператор FROM
  4. Затем мы указываем имя таблицы, откуда выбираем данные

Этот порядок написания запросов называется синтаксисом запроса. На него нужно обращать внимание в дальнейших уроках, когда мы будем разбирать другие возможности языка.

Обратим внимание на оформление запросов:

  • Все запросы оканчиваются символом ;. СУБД должна понять, где заканчивается один запрос и начинается другой, поэтому точка с запятой необходима, если вы выполняете сразу несколько запросов. Если запрос один, то точка с запятой не всегда обязательна, но мы будем ее ставить для единообразия всех запросов
  • Все названия полей и таблиц пишем строчными буквами, а ключевые слова и операторы языка — заглавными: SELECT, FROM.

Вообще говоря, СУБД не зависит от регистра. Она выполнит запрос, даже если он будет записан так:

SelECT FirSt_Name, eMail, USERname FRom Users;

View on DB Fiddle

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

Выводы

В этом уроке мы познакомились с самым частым запросом на выборку данных — SELECT. Мы разобрали его самый базовый синтаксис: сначала указывается оператор SELECT, далее перечисляются столбцы, которые мы хотим вывести, а затем после ключевого слова FROM указывается таблица.

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

Далее мы рассмотрим возможности оператора SELECT для составления более детальных и сложных запросов.

Рекомендуемые программы