SQL语句(inner join,left out join,right out join三者的不同_百度知...
发布网友
发布时间:2022-04-27 07:58
我来回答
共2个回答
热心网友
时间:2022-04-09 05:17
left
join
:左连接,返回左表中所有的记录以及右表中连接字段相等的记录。
right
join
:右连接,返回右表中所有的记录以及左表中连接字段相等的记录。
inner
join:
内连接,又叫等值连接,只返回两个表中连接字段相等的行。
full
join:外连接,返回两个表中的行:left
join
+
right
join
cross
join:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。
declare
@a
table(a
int,b
int)
declare
@b
table(a
int,b
int)
insert
@a
values(1,1)
insert
@a
values(2,2)
insert
@b
values(1,1)
insert
@b
values(3,3)
select
*
from
@a
select
*
from
@b
--左:
select
*
from
@a
Aa
left
join
@b
Bb
on
Aa.a=Bb.a
--右:
select
*
from
@a
Aa
right
join
@b
Bb
on
Aa.a=Bb.a
--内
select
*
from
@a
Aa
inner
join
@b
Bb
on
Aa.a=Bb.a
--外:
select
*
from
@a
Aa
full
join
@b
Bb
on
Aa.a=Bb.a
--交叉连接
select
*
from
@a
cross
join
@b
看了就明白了
热心网友
时间:2022-04-09 06:35
就简单的说下吧,例子就不举了
首先,内连接是把两个表中相互关联的字段行全部查询出来
左连接是把左边的表数据全部查出来,没有的数据就会以null显示,
有链接和左连接刚好相反,其他都一样
不懂可以再问