欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql--连接查询(内外连接)

程序员文章站 2022-05-19 11:06:59
连接查询又称多表查询,查询到的字段来自于多个表中的数据。 一、 连接查询的分类和语法 1.分类 按标准分: 92标准:只支持内连接 99标准:支持内连接和、外连接和全外连接 功能进行分类: 内连接:inner 等值连接 非等值连接 自连接 外连接: 左外连接left 【outer】 右外连接righ ......

连接查询又称多表查询,查询到的字段来自于多个表中的数据。
一、 连接查询的分类和语法
1.分类
按标准分:
92标准:只支持内连接
99标准:支持内连接和、外连接和全外连接
功能进行分类:
内连接:inner
等值连接
非等值连接
自连接
外连接:
左外连接left 【outer】
右外连接right【outer】
全外连接(mysql不支持) full【outer】
交叉连接cross
笛卡尔集:没有加约束条件。若表1有m行数据,表2有m2行数据,最终有m*m2行数据。
2.语法
select 查询列表
from 表1 别名 【连接类型】
join 表2 别名
on 连接条件
【where 筛选条件】
【group by 分组】
【having 筛选条件】
【order by 排序列表】
二、内连接(inner)
1.等值连接
语法:select 查询列表 from 表1 别名1 [inner join] 表2 别名 [on]/[where] 连接条件
特点:
①多表等值连接的结果为多表的交集部分;
②m个表的连接,至少需要m-1个连接条件
③各个表的先后顺序没有要求
④可以结合其他函数和字句,比如:排序、分组、筛选等
⑤可以用inner join on连接也可以使用from多个表
⑥inner join on 是sql99语法规范,提高了分离性、可读性。
mysql--连接查询(内外连接)
mysql--连接查询(内外连接)
mysql--连接查询(内外连接)
mysql--连接查询(内外连接)
2.非等值连接
mysql--连接查询(内外连接)
mysql--连接查询(内外连接)
3.自连接
查询出员工名和上级名
mysql--连接查询(内外连接)
三、外连接
用于查询一个表中存在另一个表中不存在的数据
1.特点
①外连接的查询结果为主表中的所有数据,若从表中有和他匹配的,则显示匹配的数据;若没有与之匹配的数据,则显示null
②左外连接,left join 左边是主表;右外连接,right join 右边是主表
③左外和右外交换两个表的顺序,可以实现相同的查询结果
④全外连接=内连接+表1中有表2中没有的+表2中有表1中没有的
2.左外连接
mysql--连接查询(内外连接)
3.右外连接
mysql--连接查询(内外连接)
4.全连接
mysql--连接查询(内外连接)