УРОК 3 / 27· ≈ 30 мин

SELECT: выбираем столбцы

Команда SELECT — сердце SQL

В прошлом уроке мы выполнили первый запрос. Теперь разберём команду SELECT по косточкам — именно ей мы будем пользоваться чаще всего. SELECT означает «выбрать»: мы говорим базе, какие столбцы и из какой таблицы хотим получить.

Самая простая форма запроса состоит из двух частей:

SELECT <список столбцов>
FROM <таблица>;
  • SELECT — перечисляем нужные столбцы через запятую;
  • FROM — указываем таблицу-источник;
  • ; — точка с запятой завершает запрос (в нашем тренажёре её можно опускать, но это хорошая привычка).

Например, чтобы получить модель и дальность полёта каждого самолёта из таблицы airplanes:

SELECT model, range
FROM airplanes;

База вернёт таблицу из двух столбцов (model и range) и стольких строк, сколько самолётов в таблице.

Выбрать все столбцы: звёздочка *

Если нужны вообще все столбцы, не обязательно перечислять их вручную — поставь звёздочку:

SELECT * FROM airplanes;

Это удобно, чтобы быстро «осмотреть» незнакомую таблицу. Но в реальных запросах лучше перечислять столбцы явно: так понятнее, что именно нужно, и запрос работает быстрее (база не тянет лишнее).

Псевдонимы столбцов: AS

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

SELECT model AS name, speed AS kmh
FROM airplanes;

Теперь в результате столбцы будут называться name и kmh. Сами данные в таблице не меняются — переименование живёт только в ответе на запрос. Слово AS можно даже опустить (model name), но с AS читается понятнее.

Типичные ошибки

  • Запятая после последнего столбца. SELECT model, speed, FROM airplanes — ошибка синтаксиса: после запятой база ждёт ещё один столбец, а встречает FROM.
  • Двойные кавычки вместо одинарных. В PostgreSQL "model" — это имя столбца, а 'model' — просто текст. Если написать SELECT 'model' FROM airplanes, в каждой строке будет слово model, а не название самолёта.
  • Псевдоним с пробелом без кавычек. AS скорость км/ч не сработает. Псевдоним из нескольких слов берут в двойные кавычки: AS "скорость, км/ч". Проще давать короткие имена без пробелов.
  • SELECT * «на всякий случай». Для знакомства с таблицей звёздочка удобна, но в рабочих запросах лучше перечислять нужные столбцы: так запрос понятнее и не тянет лишние данные.
💡 Запомните: SELECT перечисляет столбцы, FROM — таблицу, * берёт все столбцы, AS задаёт псевдоним. Этого уже хватает, чтобы доставать данные!

Ниже — тест и три задачи на закрепление. Пробуй прямо в редакторе. 👇

Практика

8
  1. Тест 1 — Что вернёт запрос «SELECT * FROM airplanes;»?
  2. Тест 2 — Чем закончится запрос «SELECT model, speed, FROM airplanes;»?
  3. Задача 1 — Модель и дальность самолётов
  4. Задача 2 — Псевдонимы столбцов
  5. Задача 3 — Вся таблица самолётов
  6. Задача 4 — Код и скорость
  7. Задача 5 — Аэропорты: основные поля
  8. Задача 6 — Маршруты: откуда и куда

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

Зарегистрироваться и решитьВойти

Потренируйтесь в тренажёре

2

Задачи на ту же тему, но на другой базе — продажи магазина электроники. Хороший способ проверить, что тема понятна, а не просто запомнилась на примерах урока.

Язык SQL: как мы задаём вопросы базеСледующий урок: ORDER BY: сортируем результат