数据库
外连接查询
左外连接
- 左外连接的结果集包括左表的所有记录和右表中满足连接条件的记录,结果集中那些不符合条件的来源于右表的列值为null
右外连接
**
- 顾名思义右外连接是左外连接的反向连接,右外连接的结果集包括右表的所有记录和左表中满足连接条件的记录,结果集中那些不符合条件的来源于左表的列值为null
**
左连接示例
由于需要显示所有的非空调车,所以只能外连接.如果将车辆表vehicle作为连接左表,线路表line作为右表,则该连接为左外连接
select plateno 车牌号, model 型号, lineno 线路号, from_station 起点站, end_station 终点站 from vehicle v left join line l on v.lineid=l.lineid where type='非空调车'
执行结果如下
右连接示例
由于需要显示所有的线路信息,所以只能外连接。如果车辆表vehicle作为连接左表,线路表line作为右表,则该连接为右外连接
select plateno, model, lineno, from_station, end_station from vehicle v right join line l on v.lineid=l.lineid
执行效果如下
知识总结:
一、数据集合不同
1、左外连接:是A和B的交集再并上A的所有数据。
2、右外连接:是A和B的交集再并上B的所有数据。
二、语法不同
1、左外连接:SELECT *FROM aLEFT OUTER JOIN bON a.ageId = b.id。
2、右外连接:SELECT *FROM aright OUTER JOIN bON a.ageId = b.id。
三、运算方式不同
1、左外连接:其运算方式为:A左连接B的记录=图3公共部分记录集C+表A记录集A1。
2、右外连接:其运算方式为:A右连接B的记录=图3公共部分记录集C+表B记录集B1 。