В этом уроке мы разберем одну из самых часто используемых операций SQL — SELECT
. С помощью этой команды выполняют выборку данных из таблиц.
Запросы из этого и следующих уроков можно повторить локально, используя подготовленную базу данных или сервис DB Fiddle.
Как сделать выборку данных
Программисту часто приходится выбирать данные из базы. Это можно сделать с помощью запроса SELECT
. Запрос может быть как очень простым, так и сложным, затрагивающим множество таблиц и условий.
Для начала рассмотрим простую его форму:
SELECT * FROM users;
View on DB Fiddle
Схематично его можно обозначить так:
Этот запрос достает все содержимое таблицы users
. Звездочка в примере означает все поля. Если поля нужны не все, то достаточно перечислить их через запятую вместо звездочки:
SELECT username, email FROM users;
View on DB Fiddle
На схеме обозначается так:
Поля необязательно перечислять в том же порядке, в котором они идут в таблице:
SELECT first_name, email, username FROM users;
View on DB Fiddle
В результате такого запроса поля таблицы users
выведутся в том порядке, который указан в части SELECT
.
Давайте составим запрос, который с первого взгляда должен делать то же самое — выбирать поля из таблицы users
и перевести его можно так же как и предыдущий. Из таблицы users
выбрать указанные поля:
FROM users SELECT first_name, email, username;
Такой запрос не выполнится, хотя в нем и присутствуют те же операторы. Дело в том, что при составлении запроса очень важен порядок операторов:
-
Сначала указываем оператор SELECT
-
Затем перечисляем столбцы
-
Потом идет оператор FROM
-
Затем мы указываем имя таблицы, откуда выбираем данные
Этот порядок написания запросов называется синтаксисом запроса. На него нужно обращать внимание в дальнейших уроках, когда мы будем разбирать другие возможности языка.
Обратим внимание на оформление запросов:
-
Все запросы оканчиваются символом
;
. СУБД должна понять, где заканчивается один запрос и начинается другой, поэтому точка с запятой необходима, если вы выполняете сразу несколько запросов. Если запрос один, то точка с запятой не всегда обязательна, но мы будем ее ставить для единообразия всех запросов -
Все названия полей и таблиц пишем строчными буквами, а ключевые слова и операторы языка — заглавными: SELECT, FROM.
Вообще говоря, СУБД не зависит от регистра. Она выполнит запрос, даже если он будет записан так:
SelECT FirSt_Name, eMail, USERname FRom Users;
View on DB Fiddle
Но читать такой запрос очень сложно: не совсем понятно, где названия полей, а где — таблица, из которой выбираются данные.
Выводы
В этом уроке мы познакомились с самым частым запросом на выборку данных — SELECT
. Мы разобрали его самый базовый синтаксис: сначала указывается оператор SELECT, далее перечисляются столбцы, которые мы хотим вывести, а затем после ключевого слова FROM указывается таблица.
Еще мы обозначили правила именования в запросах. В этом курсе мы будем писать ключевые слова и операторы заглавными буквами, а все переменные — строчными.
Далее мы рассмотрим возможности оператора SELECT
для составления более детальных и сложных запросов.
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.