MySQL四种连接查询

使用的例表结构

create table person(
id int,
name varchar(20),
cardId int
);

create table card(
id int,
name varchar(20)
);

insert into person values(1,'张三',1),(2,'李四',3),(3,'王五',6);
insert into card values(1,'饭卡'),(2,'建行卡'),(3,'农行卡'),(4,'工商卡'),(5,'邮政卡');

内连接 inner join 或 join

就是两张表的数据,通过某个字段对应,查询出相关记录数据。

select * from person inner join card on person.cardId=card.id;
内连接

左外连接 left join 或者 left outer join

会把左边表里面的所有数据取出来,而右边表中的数据,如果有相等的就取出来如果没有,就会补NULL。

select * from person right join card on person.cardId=card.id;
左外连接

右外连接 rigth join 或者 right outer join

会把右边表里面所有数据取出来,而左边表中的数据,如果有相等的,就显示出来,如果没有就补NULL。

select * from person right join  card on person.cardId=card.id;
右外连接

完全外连接 full join 或者 full outer join

mysql不支持full join,如果要实现全外连接,就使用union将左外连接和右外连接并起来。

select * from person left join card on person.cardId=card.id
union
select * from person right join  card on person.cardId=card.id;

转载文章MySQL四种连接查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值