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 — Что вернёт запрос «SELECT * FROM airplanes;»?
- Тест 2 — Чем закончится запрос «SELECT model, speed, FROM airplanes;»?
- Задача 1 — Модель и дальность самолётов
- Задача 2 — Псевдонимы столбцов
- Задача 3 — Вся таблица самолётов
- Задача 4 — Код и скорость
- Задача 5 — Аэропорты: основные поля
- Задача 6 — Маршруты: откуда и куда
Задачи решаются прямо здесь, в браузере, на учебной базе — нужна только бесплатная регистрация, чтобы сохранялись ответы и прогресс.
Потренируйтесь в тренажёре
2Задачи на ту же тему, но на другой базе — продажи магазина электроники. Хороший способ проверить, что тема понятна, а не просто запомнилась на примерах урока.