数据库 left join,right join 和inner join

本文通过实例详细解析了MySQL中的不同连接查询方式,包括左连接、右连接和内连接,并对比了它们之间的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我使用的是mysql数据库

建表语句:

create  table test1
(
  id VARCHAR(10) PRIMARY KEY,
  val varchar(20)
)

create table test2
(
  id varchar(10) primary key,
  val varchar(20)
)

插入数据:

insert into test1 VALUES('1','123123');
insert into test1 VALUES('2','123123');
insert into test1 VALUES('3','123123');
insert into test1 VALUES('4','123123');
insert into test1 VALUES('5','123123');

insert into test2 VALUES('1','123123');
insert into test2 VALUES('2','123123');
insert into test2 VALUES('3','123123');
insert into test2 VALUES('4','123123');
insert into test2 VALUES('7','123123');

 

普通的连接查询

select *from test1, test2 where test1.id=test2.id;

结果:

 

 

left join :

select *from test1 left join test2 on test1.id=test2.id;

结果:

right join
select *from test1 right join test2 on test1.id=test2.id;

结果:

inner join:


select *from test1 inner join test2 on test1.id=test2.id;

结果:

 

从上面的结果结果中可以明显看出left join 是以表test1为基础的,

而right join是以test2为基础,

而inner join和普通的连接没有什么区别,所以使用的比较少。

 

在这顺便说一下,oracle 9i以前使用的是‘+’号代替的,具体使用方法请自行到网上查找,我不在此提供。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值