MySQL中的多表查询

本文详细介绍了数据库查询的基础知识,包括单表查询和多表查询的实现。在多表查询中,讲解了等值连接、非等值连接、自连接与非自连接以及内连接与外连接的不同类型,并通过示例展示了各种连接操作的使用。内容涵盖内连接、左外连接、右外连接、全外连接及其变体,帮助读者深入理解数据库查询的复杂性。
摘要由CSDN通过智能技术生成

lie代表列,table指代表

1.单表查询

desc table;

2.多表查询

多表查询示例:

select lie1,lie2,t1.lie3   -- 指明lie3属于t表内
from table1 t1,table2 t2   -- 将表重命名
where t1.lie3=t2.lie3;

多表查询的分类:

(1)等值连接与非等值连接

#等值连接
select lie1,lie2,t1.lie3   //指明lie3属于t表内
from table1 t1,table2 t2   //讲表重命名
where t1.lie3=t2.lie3;

#非等值连接
select t1.lie1,t2.lie2
from table1 t1,table2 t2
where t1.lie1 between 5000 and 10000; -- 查询区间在5000到10000的数据

(2)自连接与非自连接

select t1.lie1,t1.lie2,t2.lie1,t2.lie2
from table1 t1,table2 t2
where t1.lie3=t2,lie1

自连接顾名思义表自己连接自己的数据 。不是自连接的就是非自连接。

(3)内连接与外连接

内连接指的是两个集合的交集,左外连接指的是其中一个集合包括交集但另一个集合不包括交集,满外连接就是两个集合中的所有元素,以此类推。

#内连接与外连接的七种写法
#1 内连接
select lie1,lie2
from table1 t1 join table2 t2
on t1.lie3=t2.lie3

#2 左外连接
select lie1,lie2
from table1 t1 left join table2 t2
on t1.lie3=t2.lie3

#3 右外连接
select lie1,lie2
from table1 t1 right join table2 t2
on t1.lie3=t2.lie3

#4 左外连接去交集
select lie1,lie2
from table1 t1 left join table2 t2
on t1.lie3=t2.lie3
where t2.lie3=null;

#5 右外连接去交集
select lie1,lie2
from table1 t1 right join table2 t2
on t1.lie3=t2.lie3
where t1.lie3=null

#6 满外连接
select lie1,lie2
from table1 t1 left join table2 t2
on t1.lie3=t2.lie3
union all
select lie1,lie2
from table1 t1 right join table2 t2
on t1.lie3=t2.lie3
where t1.lie3=null

#7 去中心连接
select lie1,lie2
from table1 t1 left join table2 t2
on t1.lie3=t2.lie3
where t2.lie3=null
union all
select lie1,lie2
from table1 t1 right join table2 t2
on t1.lie3=t2.lie3
where t1.lie3=null



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值