Mysql多表查询

文章目录

一、MySQL中有几种联表查询方法?

二、实例讲解


前言

学习SQL多表查询,本文就介绍MySQL数据库中联表查询方法


一、MySQL中有几种联表查询方法?

内连接:inner join 或 join

左外连接:left join

右外连接:right join

全连接:Mysql是不支持全连接的,可以利用union合并结果集实现全连接效果

等值连接:where 和内连接一样

笛卡尔积:两张或以上的表数据的 “爆炸” 集合


”导入素材:“

 create table table_1(id int);
 create table table_2(id int);
 insert into table_1 values(1),(2),(3);
 insert into table_2 values(2),(3),(4);

二、实例讲解

1.内连接

select * from table_1 t1 join table_2 t2 on t1.id=t2.id;

  内连接取表之间的交集,它们的交集取决于 on 后面的条件

2.左外连接

select * from table_1 t1 left join table_2 t2 on t1.id=t2.id;

  左外连接取表之间的交集以及左表的全部数据 

3.右外连接

select * from table_1 t1 right join table_2 t2 on t1.id=t2.id;

  与左外连接相反,取表之间的交集和右表的全部数据 

4、全连接

select * from table_1 union select * from table_2;

  知道内连接,左外连接和右外连接后,全连接我想应该也知道了吧。就是多张表的所有数据,但是注意"它们的交集"不能重复出现。

5、等值条件连接

select * from table_1 t1,table_2 t2 where t1.id=t2.id; 

  和内连接一样是取交集 

6、笛卡尔积

select * from table_1,table_2;

 实际不会用笛卡尔积,通常是配合条件查询出有效的数据,比如:等值连接查询

总结

以上就是今天要讲的内容,本文仅仅介绍了常用的6种表连接方式,在SQL中还有一些方式,比如:条件不一定得是”等值“,也可以是范围。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值