mysql - LEFT JOIN 条件中键的顺序

标签 mysql join left-join

当我们颠倒 LEFT JOIN 条件中键的顺序时会发生什么?

连接两个表的理想 SQL 左连接语法是

select fields 
from tableA 
LEFT JOIN tableB 
ON tableA.key = tableB.key

翻转连接条件的顺序

select fields 
from tableA 
LEFT JOIN tableB 
ON tableB.key = tableA.key  -- (order flipped)

这些查询会产生不同的结果集吗?

最佳答案

你会得到相同的结果。 on 子句只是计算真或假;顺序无关紧要。

只有表格本身的位置很重要。例如如下颠倒表格顺序会产生不同的结果。

select fields 
from tableB 
LEFT JOIN tableA
ON tableA.key = tableB.key

关于mysql - LEFT JOIN 条件中键的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40099173/

相关文章:

mysql查询数据显示不正确

php - 复杂的 MySQL 查询需要永远执行

mysql - 如何确保没有数据的类别仍然出现在 SQL 输出中

mysql - 使用 tomcat 和 mysql 数据库托管 java web 应用程序

mysql - MySQL MAX 函数的奇怪行为

java - JDBC 使用 MySQL 选择批处理/获取大小

python - 基于公共(public)头或尾连接列表

join - solr 连接与 lucene 连接

MySQL相似表的索引使用不一致: 'Using index' and 'Using where; Using index'

mysql - 一个查询与一张表中的多行连接