我想获得有关使用什么类型的联接的详细信息 对于此查询。
select table1.column, table2.column
from table1, table2
where table1.key = table2.key
and (some filter conditions)
最佳答案
当您使用这样的符号时:
table1,table2
您正在构建一个潜在的CROSS JOIN
,但您已在 WHERE
子句中放入条件 table1.key = table2.key
这样你的CROSS JOIN
就变成了INNER JOIN
。
我建议您使用关于 JOIN 的显式表示法,而不是像您的查询那样使用逗号,这样写:
select table1.column, table2.column
from table1
inner join table2
on table1.key = table2.key
where (some filter conditions)
通过这种方式,您可以确切地知道要使用哪个JOIN
,如果您错过了某些子句(如 ON),SQL 解析器会警告您
关于sql - 连接条件为 where 子句时使用的连接类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122788/