码迷,mamicode.com
首页 > 数据库 > 详细

sql的基本语句

时间:2019-04-04 12:32:52      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:int   join   create   语句   arc   inner   var   就会   存在   

SQL中的inner join, left join, right join, full join


创建两个测试表并且输入相关值
create table test_a(
aid int,
aNum varchar(255)
);
create table test_b(
bid int,
bNum varchar(255)
);

insert into test_a(aid, aNum)
values
(1, ‘a2015001‘),
(2, ‘a2015002‘),
(3, ‘a2015003‘),
(4, ‘a2015004‘),
(5, ‘a2015005‘);
insert into test_b(bid, bNum)
values
(1, ‘b160200p‘),
(2, ‘b2015002b‘),
(3, ‘b2015003b‘),
(4, ‘b2015004b‘),
(8, ‘b2015008‘);

inner join


等值连接, 只返回两个表中连接字段相等的行
select * from test_a inner join test_b on aid = bid;
结果表只返回两个表中字段相等的行

 

left join


左连接 返回包括左表中的所有记录和右表中联结字段相等的记录
select * from test_a left join test_b on aid = bid;
返回包括左表中的所有记录和右表中联结字段相等的记录,没值用null填充
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.

 

right join


右联接 返回包括右表中的所有记录和左表中联结字段相等的记录
select * from test_a right join test_b on aid = bid;
返回包括右表中的所有记录和左表中联结字段相等的记录,没值用null填充
和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.

 

full join


全联接 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行,相当于left join 和right join的并集
select * from test_a full join test_b on aid = bid;
返回两个表的所有记录
返回两个表的所有记录,没有的值用null补充

sql的基本语句

标签:int   join   create   语句   arc   inner   var   就会   存在   

原文地址:https://www.cnblogs.com/zcy1103/p/10654028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!