繁体   English   中英

这是左连接还是右连接,内部还是外部?

[英]Is this a left join or right join, inner or outer?

一段时间以来第一次坐在这里工作写 SQL。 我知道所有连接的所有vendiagrams,但我想知道我刚刚写了什么类型的连接。 这甚至是典型的连接,因为我没有使用“JOIN”关键字?

select * from table1 t, table2 a where a.column1 = -10300 AND t.column1 = a.column2;

谢谢,k9

由于“t.column1 = a.column2”,这与内部联接的执行相同。 如果忽略这一点,这将是一个交叉应用。

这里有更多信息: http : //explainextended.com/2009/07/16/inner-join-vs-cross-apply/

当您在 Where 中使用内部连接逻辑时,它的内部连接。

这被认为是旧式的内部连接。

在 MySQL 中, JOIN不合格意味着INNER JOIN 换句话说, INNERINNER JOIN是可选的。 关于 JOIN 的官方文档在这里

这是一个旧的 oracle 风格的内部连接。 它将为您提供列匹配的两个表中的所有行,这几乎就是内部联接。

仅供参考,在一切都采用 ANSI 标准 SQL 之前,这曾经是 Oracle SQL 中的标准做法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM