什么之间的区别INNER JOIN,LEFT JOIN,RIGHT JOIN并FULL JOIN
在MySQL的?
结果有什么不同:
你能通过一些例子解释一下吗?
我们可以对来自不同数据库的两个表使用join操作吗?如果是,那该怎么办?
两个数据库都在同一台服务器上,DBMS是相同的.
TABLE A >>
uid name
1 test1
2 test2
3 test3
4 test4
TABLE B >>
uid address
1 address1
2 address2
4 address3
RESULT
1 test1 address1
2 test2 address2
3 test3
4 test4 address3
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我如何编写查询并获取上面的结果,非常感谢!我尝试过加入,左右加入.一切都没有结果.
外连接在我看来有点令人困惑.
有没有人可以让我清楚地了解外连接(右,左和全)?
我正在学习SQL,我根本没有考试,所以我很抱歉我的愚蠢问题.显然(在我的猜测LOL中)LEFT和RIGHT join可以等效反转表(操作数).这是正确的吗?
如果是的话,为什么我更愿意这样写:
SELECT * FROM aaa LEFT OUTER JOIN bbb ON aaa.x = bbb.x
Run Code Online (Sandbox Code Playgroud)
而不是这个:
SELECT * FROM bbb RIGHT OUTER JOIN aaa ON aaa.x = bbb.x
Run Code Online (Sandbox Code Playgroud) 我有以下类型的查询:
select * from tbl_1 where [cond] as aliasA LEFT JOIN tbl_2 as aliasB
ON (aliasA.id = aliasB.id) WHERE aliasB.id IS NULL
Run Code Online (Sandbox Code Playgroud)
似乎它正在工作,除了它忽略了最后一个WHERE aliasB.id IS NULL.所以,它只是返回以下结果:
select * from tbl_1 where cond as aliasA LEFT JOIN tbl_2 as aliasB
ON (aliasA.id = aliasB.id)
Run Code Online (Sandbox Code Playgroud)
如何更改上述查询以获取查询tbl_1的结果,其中[cond]仅显示不在tbl_2中的行?
提前致谢!
sql ×7
join ×3
left-join ×3
mysql ×3
outer-join ×3
t-sql ×2
database ×1
inner-join ×1
oracle ×1
oracle9i ×1
right-join ×1
select ×1