首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(A连接B)连接(C连接D)

(A连接B)连接(C连接D)
EN

Stack Overflow用户
提问于 2013-10-15 05:43:44
回答 3查看 356关注 0票数 0

我想确定加入的具体顺序。

代码语言:javascript
复制
SELECT *
FROM (lives_in as t1 NATURAL JOIN preferences p1) l1
JOIN (lives_in t2 NATURAL JOIN preferences p2) l2
ON l1.dormid = l2.dormid

返回一个错误。

有人能帮忙吗?非常感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-15 05:53:38

您的别名查询缺少一个SELECT子句,因此尝试如下:

代码语言:javascript
复制
SELECT *
FROM (
    select * -- added this
    FROM lives_in as t1
    NATURAL JOIN preferences p1) l1
JOIN (
    select * -- added this
    FROM lives_in t2
    NATURAL JOIN preferences p2) l2
ON l1.dormid = l2.dormid
票数 2
EN

Stack Overflow用户

发布于 2013-10-15 05:48:05

连接的顺序与结果无关。你可能想要这样的东西:

代码语言:javascript
复制
SELECT *
FROM lives_in t1 
NATURAL JOIN preferences p1 ON p1.some_id = t1.id
NATURAL JOIN preferences p2 ON p2.some_id = t1.id

而且,大多数人称它为内部连接,而不是自然连接,顺便说一下。

票数 1
EN

Stack Overflow用户

发布于 2013-10-15 06:27:10

希望能帮上忙。

代码语言:javascript
复制
SELECT *
FROM (
select * from lives_in as t1 NATURAL JOIN preferences p1
) l1
JOIN (
select * from lives_in t2 NATURAL JOIN preferences p2
) l2
ON l1.dormid = l2.dormid
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19374028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档