Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL内部连接顺序_Sql - Fatal编程技术网

SQL内部连接顺序

SQL内部连接顺序,sql,Sql,如果我有一个主键为w的表a,主键为x的表B,外键为a.w,则称为y,还有一个字段z。以下查询之间有什么区别: SELECT w, x, y, z FROM A INNER JOIN B ON A.w = B.y WHERE B.z = SomeValue 及 如果B.z和B.y是复合主键,是否仍有区别 如果没有区别,哪种代码更标准 两个给定的查询之间没有区别。对于内部联接,不,顺序不重要。对于(左、右或全)外部联接,是的,顺序很重要 有关详细信息,请参阅线程。这两个查询之间没有区别。内部联接的

如果我有一个主键为
w
的表
a
,主键为
x
的表
B
,外键为
a.w
,则称为
y
,还有一个字段
z
。以下查询之间有什么区别:

SELECT w, x, y, z FROM A INNER JOIN B ON A.w = B.y WHERE B.z = SomeValue

如果
B.z
B.y
是复合主键,是否仍有区别

如果没有区别,哪种代码更标准


两个给定的查询之间没有区别。对于内部联接,不,顺序不重要。对于(左、右或全)外部联接,是的,顺序很重要


有关详细信息,请参阅线程。

这两个查询之间没有区别。
内部联接的操作数顺序不影响结果,也不应影响执行计划。您使用的是哪种DBMS?博士后?Oracle?若要了解这是否有任何影响,请检查执行计划。@a_horse_和_no_名称duplicate是错误的,问题是关于1 join的参数顺序(可交换性),但副本是关于多个join的顺序(关联性)。(我正在寻找一个合适的副本,请让我知道你有一个。到目前为止最老的是2013年。)它们中的任何一个会更好的编程风格吗?请查看我的更新答案。:)
SELECT w, x, y, z FROM B INNER JOIN A ON A.w = B.y WHERE B.z = SomeValue