小编Rad*_*van的帖子

当使用LEFT(外部)连接时,连接中表的顺序是否重要?

我想确认一下SQL查询

SELECT ....
  FROM apples,
       oranges
       LEFT JOIN kiwis ON kiwis.orange_id = oranges.id,
       bananas
 WHERE ....
Run Code Online (Sandbox Code Playgroud)

完全等同于FROM子句中的其他排列,例如

SELECT ....
  FROM oranges
       LEFT JOIN kiwis ON kiwis.orange_id = oranges.id,
       bananas,
       apples
 WHERE ....
Run Code Online (Sandbox Code Playgroud)

要么

SELECT ....
  FROM bananas,
       apples,
       oranges
       LEFT JOIN kiwis ON kiwis.orange_id = oranges.id
 WHERE ....
Run Code Online (Sandbox Code Playgroud)

只要橘子和猕猴桃之间明确的LEFT JOIN保持不变.从我在各种文档中看到的内容来看,返回的集应该完全相同.

我真的只关心查询的结果,而不是它在实际数据库中的性能.(我正在使用PostgreSQL 8.3,AFAIK不支持关于连接顺序的优化器提示,并将尝试自动创建最佳查询计划).

sql postgresql join ansi-sql

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

ansi-sql ×1

join ×1

postgresql ×1

sql ×1