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