我有两个表:table1,table2。 Table1有10列,table2有2列。
SELECT * FROM table1 AS T1 INNER JOIN table2 AS T2 ON T1.ID = T2.ID
我想从table1中选择所有列,而从table2中只选择1列。是否可以在不枚举 table1 ?
的所有列的情况下执行此操作答案 0 :(得分:14)
是的,您可以执行以下操作:
SELECT t1.*, t2.my_col FROM table1 AS T1 INNER JOIN table2 AS T2 ON T1.ID = T2.ID
答案 1 :(得分:6)
即使您可以执行t1.*, t2.col1
事情,我也不会在生产代码中推荐它。
我永远不会在制作中使用SELECT *
- 为什么?
我对生产代码的建议:总是(没有例外!)准确指定您真正需要的那些列 - 即使您需要所有这些列,也要明确拼写出来。如果基础表中发生任何变化,那么就会减少意外,减少寻找的错误。
答案 2 :(得分:-2)
使用table1.*
代替table1的所有列;)