Learnly
SQL для аналитиков/Глава 4/Урок 2

Как выбрать конкретные столбцы

Как выбрать конкретные столбцы

В прошлом уроке мы узнали про SELECT. Теперь разберём тонкости выбора столбцов, это важнее чем кажется.

Почему не стоит писать SELECT *

Когда пишешь SELECT *, база возвращает все столбцы. В таблице может быть 50 столбцов, а тебе нужны 3. Ты:

  • Гоняешь лишние данные по сети
  • Тратишь память
  • Усложняешь чтение запроса

Всегда указывай только нужные столбцы.

Порядок столбцов в запросе

Столбцы выводятся в том порядке, в котором ты их написал, не в том как они в таблице:

SELECT city, name, age
FROM users;
city   | name    | age
-------+---------+----
Москва | Алекс   | 25
СПб    | Мария   | 30
Казань | Дмитрий | 22

Форматирование запросов

Длинные запросы принято форматировать, каждый столбец на новой строке:

SELECT
    id,
    name,
    email,
    city
FROM users;

Это не влияет на результат, но очень улучшает читаемость.

Выражения в SELECT

В SELECT можно писать не только имена столбцов, но и выражения:

SELECT
    name,
    price,
    quantity,
    price * quantity          AS subtotal,
    price * quantity * 0.2    AS vat
FROM order_items;
name     | price | quantity | subtotal | vat
---------+-------+----------+----------+-----
Ноутбук  | 80000 |        1 |    80000 | 16000
Мышь     |  1500 |        2 |     3000 |   600

Работа со строками в SELECT

SELECT
    first_name || ' ' || last_name  AS full_name,
    UPPER(city)                     AS city_upper,
    LENGTH(email)                   AS email_length
FROM users;

||, конкатенация строк в PostgreSQL (в MySQL используют CONCAT()).

Константы в SELECT

Иногда нужно добавить фиксированное значение:

SELECT
    name,
    'активный'      AS status,
    CURRENT_DATE    AS report_date
FROM users;

Это полезно когда создаёшь отчёт с фиксированными метками.

💡 Главная мысль: SELECT, не просто "достань столбцы". Это мощный инструмент: можно вычислять, переименовывать, конкатенировать, добавлять константы.