数据库(五)----连接查询

一、概念

1.又称多表查询,当查询的字段来自多个表时,就会用到连接查询
数据库(五)----连接查询
“.”运算符取出各表中的数据
这样可以避免笛卡尔积的现象

二、sql92标准

1.等值连接
数据库(五)----连接查询
beauty.boyfriend_id与boys.d要等值才能连接成功
①.为表起别名,as或空格
注意:如果给表起了别名,那么查询的字段就不能使用原来的表名去限定
②.加条件
数据库(五)----连接查询
用and加条件
③.加分组
数据库(五)----连接查询
④.三表连接,分开写
数据库(五)----连接查询

2.非等值连接
数据库(五)----连接查询
3.自连接
数据库(五)----连接查询

三、sql99标准

1.语法
select 查询列表
from 表1 别名 【连接类型】
join 表2 别名 
on  连接条件
where 筛选条件
group by  分组
having  筛选条件
order by 排序列表 
2.内连接(等值连接)
①语法:
select 查询列表
from 表1 别名
inner join 表2 别名
on 连接条件
where 筛选条件
group by  分组
having  筛选条件
order by 排序列表

数据库(五)----连接查询

数据库(五)----连接查询
②三表连接:
数据库(五)----连接查询
③非等值连接
数据库(五)----连接查询
④自连接
数据库(五)----连接查询
3.外连接
①应用:一般用于一个表中有,一个表中没有的记录
②外连接的查询结果为主表中的所有记录,如果从表中有和它匹配的值,显示匹配的值,如果没有,显示NULL值
③左外连接:left join左边是主表
右外连接:left join右边是主表

左外连接:
数据库(五)----连接查询

数据库(五)----连接查询

右外连接:
数据库(五)----连接查询

数据库(五)----连接查询
④全连接=内连接+表1中有表2中没有+表2中有表1中没有
数据库(五)----连接查询

⑤交叉连接(等价于笛卡尔乘积)

数据库(五)----连接查询