Зарегистрируйтесь, чтобы продолжить обучение

Запросы на выборку Основы 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 для составления более детальных и сложных запросов.


Дополнительные материалы

  1. Как практиковаться с выполнением запросов с сервисом DB Fiddle

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»