Ale*_*alt 15 sql t-sql sql-server
我有两个表:table1,table2.Table1有10列,table2有2列.
SELECT * FROM table1 AS T1 INNER JOIN table2 AS T2 ON T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)
我想从table1中选择所有列,从table2中只选择1列.是否可以在不枚举table1中的所有列的情况下执行此操作?
Dan*_*llo 15
是的,您可以执行以下操作:
SELECT t1.*, t2.my_col FROM table1 AS T1 INNER JOIN table2 AS T2 ON T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)
即使你可以做到这t1.*, t2.col1一点,我也不会在生产代码中推荐它.
我永远不会SELECT *在生产中使用- 为什么?
我对生产代码的建议:总是(没有例外!)确切地指定你真正需要的那些列 - 即使你需要所有这些列,也要明确拼写出来.如果基础表中发生任何变化,那么就会减少意外,减少寻找的错误.