问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

left join 与 right join 区别

发布网友 发布时间:2022-04-26 20:15

我来回答

2个回答

热心网友 时间:2022-04-12 21:02

A left join B 的连接的记录数与A表的记录数同

A right join B 的连接的记录数与B表的记录数同

A left join B 等价B right join A

table A:

Field_K, Field_A

1 a

3 b

4 c

table B:

Field_K, Field_B

1 x

2 y

4 z

select a.Field_K, a.Field_A, b.Field_K, b.Field_B

from a left join b on a.Field_K=b.Field_K

Field_K Field_A Field_K Field_B

---------- ---------- ---------- ----------

1 a 1 x

3 b NULL NULL

4 c 4 z

select a.Field_K, a.Field_A, b.Field_K, b.Field_B

from a right join b on a.Field_K=b.Field_K

Field_K Field_A Field_K Field_B

---------- ---------- ---------- ----------

1 a 1 x

NULL NULL 2 y

4 c 4 z --

举个例子:

假设a表和b表的数据是这样的。

a b

id name id stock

1 a 1 15

2 b 2 50

3 c

select * from a inner join b on a.id=b.id

这个语法是连接查询中的内连接,它产生的结果是

两个表相匹配的记录出现在结果列表中。

根据上面的表,出现的结果是这样的

a.id name b.id stock

1 a 1 15

2 b 2 50

----------------------------

select * from a,b where a.id=b.id

这个语法是内连接的另外一种写法,其执行结果与inner join 一样

--------------------------------

select * from a left/right join b on a.id=b.id

这个是外连接语法中的左外连接或右外连接

如果是左外连接的话,它将显示a表的所有记录,

select a.*,b.* from a left join b on a.id=b.id

查询的结果是这样的:

a.id name b.id stock

1 a 1 15

2 b 2 50

3 c null null

--------------------------------------------

如果是右外连接的话,它将显示b表的所有记录,

select a.*,b.* from a right join b on a.id=b.id

查询的结果是这样的:

a.id name b.id stock

1 a 1 15

2 b 2 50

--

select a.*,b.* from a left join b on a.k = b.k

select a.*,b.* from a left outer join b on a.k =b.k

----------上面两种一样left join是left outer join的简写

select a.*,b.* from a left inner join b on a.k = b.k

没有这种写法,错误的语句.

热心网友 时间:2022-04-12 22:20

A
left
join
B
的连接的记录数与A表的记录数同
A
right
join
B
的连接的记录数与B表的记录数同
A
left
join
B
等价B
right
join
A
table
A:
Field_K,
Field_A
1
a
3
b
4
c
table
B:
Field_K,
Field_B
1
x
2
y
4
z
select
a.Field_K,
a.Field_A,
b.Field_K,
b.Field_B
from
a
left
join
b
on
a.Field_K=b.Field_K
Field_K
Field_A
Field_K
Field_B
----------
----------
----------
----------
1
a
1
x
3
b
NULL
NULL
4
c
4
z
select
a.Field_K,
a.Field_A,
b.Field_K,
b.Field_B
from
a
right
join
b
on
a.Field_K=b.Field_K
Field_K
Field_A
Field_K
Field_B
----------
----------
----------
----------
1
a
1
x
NULL
NULL
2
y
4
c
4
z
--
举个例子:
假设a表和b表的数据是这样的。
a
b
id
name
id
stock
1
a
1
15
2
b
2
50
3
c
select
*
from
a
inner
join
b
on
a.id=b.id
这个语法是连接查询中的内连接,它产生的结果是
两个表相匹配的记录出现在结果列表中。
根据上面的表,出现的结果是这样的
a.id
name
b.id
stock
1
a
1
15
2
b
2
50
----------------------------
select
*
from
a,b
where
a.id=b.id
这个语法是内连接的另外一种写法,其执行结果与inner
join
一样
--------------------------------
select
*
from
a
left/right
join
b
on
a.id=b.id
这个是外连接语法中的左外连接或右外连接
如果是左外连接的话,它将显示a表的所有记录,
select
a.*,b.*
from
a
left
join
b
on
a.id=b.id
查询的结果是这样的:
a.id
name
b.id
stock
1
a
1
15
2
b
2
50
3
c
null
null
--------------------------------------------
如果是右外连接的话,它将显示b表的所有记录,
select
a.*,b.*
from
a
right
join
b
on
a.id=b.id
查询的结果是这样的:
a.id
name
b.id
stock
1
a
1
15
2
b
2
50
--
select
a.*,b.*
from
a
left
join
b
on
a.k
=
b.k
select
a.*,b.*
from
a
left
outer
join
b
on
a.k
=b.k
----------上面两种一样left
join是left
outer
join的简写
select
a.*,b.*
from
a
left
inner
join
b
on
a.k
=
b.k
没有这种写法,错误的语句.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...油桶横放长6、25米,圆的直径为2、05米,液体横放的高度为1、8米。求... 一个圆桶半径为1.2米,高为12米,现将油桶平放,此时装油的高度为1.722米... 大油桶是横放的,油桶圆的直径是2.15米,长是3.6米,里面的净油位高度... 一个圆柱油桶横着放,长5.5米,直径2.4米,里面装着油,油高度1米,求现在... 有一个圆柱体桶横放,长7米,高2.7米,里面装的油与油桶距离1.2米,求油的... 圆柱形油桶横放时油部分占底面圆周的三分之一当油桶直立油的高度和桶... 有一个圆柱体桶横放 有一个圆柱体桶横放 长9.4米 高2.6米 里面装的油与桶底距离0.6米,求里 ... 电脑单独安装outlook教程如何在电脑上安装outlook 直角转弯为什么会压角 义乌在杭州哪个方向 杭州在义乌的哪个方向 oracle中left join (或者right join)与hash join/nest loop 之间是... 浙江杭州义乌区号是多少 left join,right join和inner join的区别 Oracle中的join 和left join 有什么区别啊?还有inner join 杭州义乌区号是多少 请问从事新媒体行业需要考证吗? left join和right join的区别 浙江义乌和杭州有关联吗 义乌市位于杭州哪里 oracle中left join和right join的区别浅谈 媒体证怎么办理 杭州和义乌都是浙江省的吗 宽带20兆是多少K 义鸟是在杭州吗? 法治新媒体工作证有什么用处 新媒体拥有记者证是否意味着拥有采编权? 义乌是属于哪里的?是杭州还是哪? 新媒体证书有必要考吗 义乌在浙江的哪个位置?靠近哪些省份 一个表自连接时,left join 和right join有什么区别? oracle中inner join 与 left join有什么区别,不要网上复制的,谢谢... Oracle中 Left outer join与 left join有什么区别? Oracle left join 或right join 解答Oracle LEFT JOIN和LEFT OUTER JOIN的区别 sql中left join、right join、inner join有什么区别? left join和right join的区别是什么? oracle 和left join的区别 电脑cpu使用率占用多少正常 筹;冥;归分别什么意思 筹字的组词是? "筹"与"酬"的区别? 筹令什么意思 筹集的筹在词语中是什么意思~~~希望高手能帮我解决 技高一筹的筹是谋划的意思吗? 千古一筹什么意思? 筹划嘛意思? 筹措是什么意思 筹办什么意思