Столбцы, SELECT * и псевдонимы
Содержание курса
Явный список столбцов против SELECT *: надёжность при изменении схемы
Разница между SELECT * и явным списком проявляется, когда схема таблицы меняется. Пока products содержит product_id, title и price, два запроса возвращают одинаковый набор столбцов:
SELECT * FROM products;
SELECT product_id, title, price
FROM products;
Если в таблицу добавят новый столбец, первый запрос автоматически включит его в результат. Второй продолжит возвращать product_id, title и price, пока сами эти столбцы существуют и сохраняют свои имена. Явный список защищает именно от неожиданного расширения результата; удаление или переименование перечисленного столбца всё равно потребует исправить запрос.
Это важно для кода, отчёта или выгрузки, которые рассчитывают на определённый набор полей. Дополнительный столбец может нарушить ожидаемую форму результата, даже если прежние значения остались на месте.
Практическое правило простое: SELECT * удобен для разового осмотра таблицы, когда нужно быстро увидеть все доступные поля. Для повторно используемого запроса явный список надёжнее: он фиксирует намерение и остаётся прежним при добавлении посторонних столбцов.
Есть и преимущество для чтения. SELECT product_id, title, price FROM products сразу показывает, какие данные нужны. Чтобы понять результат SELECT *, придётся отдельно открыть схему таблицы.
