Как выбрать конкретные столбцы
В прошлом уроке мы узнали про 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, не просто "достань столбцы". Это мощный инструмент: можно вычислять, переименовывать, конкатенировать, добавлять константы.