1、语法:
select 查询列表
from 表1 别名 [连接类型]
join 表2 别名
on 筛选条件
2、连接类型
1. 内连接:inner
语法:
select 查询列表
from 表1 别名
inner join 表2 别名
on 筛选条件
分类:
1. 等值
2. 非等值
3. 自连接
特点:
1. 可添加排序、分组、筛选
2. inner可省略
3. 筛选条件放在where后面,连接条件放在on后面,提高分离性,便于阅读
2. 外连接:
语法:
select 查询列表
from 表1 别名
outer join 表2 别名
on 筛选条件
应用场景:用于查询一个表中有,而另一个表中没有
分类
1. 左外:left[outer]
2. 右外: right[outer]
3. 全外: full[outer]
特点:
1. 外连接的查询结果为主表中的所有记录
如果从表中有和它匹配的,则显示匹配的值
如果从表中没有和它匹配的,则显示null
外连接查询结果=内连接结果+主表中有而从表中没有的记录
2. 左外连接:left join左边的主表
右外连接:right join右边的是主表
3. 左外和右外交换两个表的顺序,可以实现同样的效果
4. 全外连接=内连接中的结果+表1中有而表2中没有的+表2中有而表1中没有的
3. 交叉连接: cross
即使用99语法的笛卡尔乘积。