Mar*_*tea 1 sql select reverse join
我的一般问题是我想从左连接中选择所有列,而我不需要知道连接两个表的ID.我知道没有必要选择all,但由于你需要除了id之外的所有字段,为什么没有更短的方法:SELECT*除了"this column",我觉得行动时间应该缩短相反的方式?
T1:
aID,
c1,
c2,
c3,
c4
t2:
aID,
c1,
c2,
c3,
c4
Select * from t1 left join t2 on t1.aid = t2.aid
result: t1:aid, c1, c2, c3, c4, aid, c1, c2 ,c3 ,c4
Run Code Online (Sandbox Code Playgroud)
而不是选择我想要的每一列,我只想选择除"援助"之外的所有列.
SELECT *是快速原型化查询的简写,但强烈建议不要用于生产代码(在EXISTS表达式之外) - 如果有任何架构更改,那么消耗查询结果的任何内容都会出现意外的列.同样,您要求的表格也会有同样的问题.
一旦你适当地形成了你的查询(得到了正确的连接等),你应该回到你的SELECT子句并明确列出你想要检索的那些列.检索多于您需要的列(包括意外的新列)可能会导致SQL Server必须使用效率较低的计划,或者检索消费者永远不会使用的大量数据.