У меня есть две таблицы: table1, table2. Table1 имеет 10 столбцов, table2 имеет 2 столбца.
SELECT * FROM table1 AS T1 INNER JOIN table2 AS T2 ON T1.ID = T2.ID
Я хочу выбрать все столбцы из table1 и только 1 столбец от table2. Действительно ли возможно сделать это, не перечисляя все столбцы от table1?
Да, вы можете сделать следующее:
SELECT t1.*, t2.my_col FROM table1 AS T1 INNER JOIN table2 AS T2 ON T1.ID = T2.ID
Используйте table1. *
вместо всех столбцов table1;)
Даже если вы можете сделать t1. *, T2.col1
, я бы не рекомендовал его в производственном коде.
Я бы никогда никогда не использовал SELECT *
в производстве - почему?
Моя рекомендация для производственного кода: всегда (без исключений!) укажите именно те столбцы, которые вам действительно нужны - и даже если вам нужны все они, изложите это подробно. Меньше сюрпризов, меньше ошибок, за которыми нужно охотиться, если что-нибудь изменится в базовой таблице.