[toc]
用于两张及两张以上的表,显示满足条件的记录,和不满足条件的记录(以null显示)
内连接查询 inner jion
- 例1:显示职工姓名,及其所在仓库的城市信息
select 姓名,城市 from 仓库 inner jion 职工 on 职工.仓库号=仓库.仓库号
带条件的内连接查询
- 例2:显示城市不为空、姓名含“王”的姓名和城市
select 姓名,城市 from 仓库 inner jion 职工
on 职工.仓库号=仓库.仓库号
and 城市 is not null
and 姓名 like '%王%'
多表的内连接查询
- 例3:显示职工所在城市、面积、姓名、工资和金额,条件:工资大于1800,面积小于1000,金额不等于16600
select 城市,面积,姓名,工资,金额 from 仓库
inner join 职工 on 职工.仓库号=仓库.仓库号
inner join 订单 on 职工.职工号=订单.订单号
and 工资>1800 and 面积<1000 and 金额!=16600
左连接查询 left join
左表不满足条件的记录也会显示
- 例1:显示城市不为空,姓名含“王”的姓名和信息
select 姓名,城市 from 仓库 left join 职工
on 职工.仓库号=仓库.仓库号
and 城市 is not null and 姓名 like '%王%'
tip:第一张表仓库表为左表
结果会显示左表为NULL的信息
- 例2:显示职工所在城市、面积、姓名、工资和金额,条件:工资大于1800,面积小于1000,金额不等于16600
select 城市,面积,姓名,工资,金额 from 仓库
left join 职工 on 职工.仓库号=仓库.仓库号
left join 订单 on 职工.职工号=订单.订单号
and 工资>1800 and 面积<1000 and 金额!=16600
表一:仓库表,表二:职工表,表三:订单表
第一个left join:仓库表|职工表
*第二个left join:职工表|订单表
所以仓库表和职工表不满足条件的记录也会显示,为NULL*
右连接查询 right jion
方法同左连接
全连接查询 full join
方法同左连接
综合应用
- 例:仓库表与职工表左连接,职工表与订单表右连接
方法同左连接的例2