我有两个表:
Table1 has columns A, B, C, D, E, F, G
Table2 has columns G, H, I, J, K, L, M, N
我想在列 G 上加入这两个表。但是,以避免重复列(不明确的 G)。
我必须做如下查询。
select
t1.*,
t2.H,
t2.I,
t2.J,
t2.K,
t2.L,
t2.M,
t2.N
from Table1 t1
inner join Table2 t2
on t1.G = t2.G
我已经使用 t1.* 来尝试避免输入 table1 中的每个列名称,但是,我仍然必须输入所有列,除了连接的列 G,如果您有一个包含许多列的表,这将是一场彻头彻尾的灾难。 .
有没有什么方便的方法我们可以做
select
t1.*
t2.*(except G)
....
非常感谢!
我知道我可以打印出所有列名,然后复制和粘贴,但是,即使我不必手动输入,查询仍然太长而无法调试......
最佳答案
您可以使用 natural join :
SELECT * FROM T1 NATURAL JOIN T2;
请结帐 this demo 。
但是请注意,
NATURAL JOIN
是危险的,因此强烈建议不要使用它们。危险来自无意中添加了一个新列,该列的名称与另一个表中的另一列相同。关于mysql - SQL 除所有列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18007618/