MYSQL实现左外连接、右外连接和多表连接
一、内连接查询
1、交叉连接(笛卡尔积)
两张表A和B的所有数据组合在一起,造成大量的数据冗余
例如:实现线路表和车辆表
SELECT *FROM line CROSS JOIN vehicle
2、内连接查询
主键连外键
SELECT*FROM family f,information i
WHERE f.name=i.name;
案例1:

案例2:使用内连接获取不属于公交二公司的线路信息和车辆信息。

3、多表连接
语法:
SELECT fieldlist FROM table1 JOIN table2 ON table1.column1=table2.column2_1 JOIN table3 on
table2.column2_2=table3.column3 [where condition]
案例:获取所有非空调车的车牌号、型号和司机姓名、所属线路的线路号、起点站和终点站信息。

二、外连接
1、左外连接(LEFT JOIN)
示例:显示所有司机基本信息,并查询其所驾驶车辆和行驶线路的相关信息,要求输出司机姓名、性别、电话、车牌号、型号、线路号、起点站和终点站。

SELECT plateNo 车牌号,model 型号,lineNo 线路好,from_station 起点站,end_station 终点站
FROM vehicle V LEFT JOIN line L on V.lineID=L.lineID WHERE type='非空调车'
2、右外连接(RIGHT JOIN)
示例:显示所有线路及其所配车辆基本信息,并查询车辆所配司机相关信息,要求输出司机姓名、性别、电话、车牌号、型号、线路号、起点站和终点站。

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
