SQL中join和left join的区别

 我来答
KDERP
2016-08-04 · 知道合伙人软件行家
KDERP
知道合伙人软件行家
采纳数:266 获赞数:699
2016-2017荣获 金达软件(广州) 最佳项目负责人

向TA提问 私信TA
展开全部

说起这两种联接方式,一定要把Right Join联系起来。

一、释义。

1、Left Join(左联接)

    以左表为中心,返回左表中符合条件的所有记录以及右表中联结字段相等的记录——当右表中无相应联接记录时,返回空值。
2、Right Join(右联接)    

    以右表为中心,返回右表中符合条件的所有记录以及左表中联结字段相等的记录——当左表中无相应联接记录时,返回空值。

3、Inner Join(等值连接) 

    返回两个表中联结字段相等的行。


二、示例。

1、插入测试表(test1,test2)

create table test1  --测试表1

(id int not null,

 value char(10) )

create table test2  --测试表2

(id int not null,

 value char(10) )

2、插入数据

--insert into test1

 insert into test1

 values (1,'testaa')

 insert into test1

 values (2,'testaa')

 insert into test1

 values (3,'testaa')

--insert into test2

  insert into test2

 values (1,'testaa2')

 insert into test2

 values (2,'testaa2')

 insert into test2

 values (4,'testaa2')

3、查询结果比较(附图)

 select * from test1 a left join test2 b on a.id = b.id

 select * from test1 a right join test2 b on a.id = b.id

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

4、删除测试表

drop table test1 

drop table test2 

匿名用户
2016-08-03
展开全部
  简单点说:
  逗号表示两个表都存在的记录才显示出来;
  left join 表示只要左边表里面有符合条件的数据就可以查找出来
  你可以参考一下数据库的几个范式说明

  为什么用","的时候,不加where也可以用。
  不加where条件可以用,但是这样的数据查出来有什么用吗。
追问
我知道left join 我只是忘记join是不是left join的缩写了。你没说join是啥意思
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
度liusz
2022-02-10
知道答主
回答量:5
采纳率:0%
帮助的人:1845
展开全部
join 等价于 inner join 内连接,又叫等值连接,只返回两个表中连接字段相等的行
left join 左连接 以左边的表为主
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式