第七章MYSQL连接查询

(一)连接

  1. 概念
    查询信息的来源如果来自多张表,则必须对这些表进行连接查询。
    连接是把不同表的记录连到一起的最普遍的方法,通过连接查询可将多个表作为一个表进行处理。
    连接查询分为内连接和外连接。

(二)内连接查询

  1. 概念:内连接基于连接谓词,它将两张表 的列组合在一起,产生新的结果表。
    内连接分 3 种:交叉连接、相等连接和自然连接。
  2. 语法
SELECT fieldlist 
FROM table1 
[INNER] JOIN table2 
ON table1.column1=table2.column2
[where condition]
  1. 示例
select * 
from line 
join vehicle 
on line.lineID=vehicle.lineID

在这里插入图片描述

(三)多表连接查询

  1. 概念:如果查询的信息来源于多张表,则可通过两两相连的方式建立多表连接查询。
  2. 三表连接语法:
SELECT fieldlist 
FROM table1 
JOIN table2 
ON table1.column1=table2.column2_1 
JOIN table3 
ON table2.column2_2=table3.column3 
[where condition]
  1. 示例
select name 司机姓名 , plateNo 车牌号 , model 型号 , lineNo 线路号 , from_station 起点站 , end_station 终点站 
from vehicle V 
join Driver D 
on V.driverID=D.driverID
join line L 
on V.lineID=L.lineID 
 where type=' 非空调车 ';

在这里插入图片描述

(四)外连接查询(LEFT JOIN)

  1. 概念:左外连接的结果集包括左表的所有记录和右表中满足连接条件的记录,结果集中那些不符合连接条件的来源于右表的列值为 null。
  2. 语法
SELECT 字段名称 
FROM 表名 1 
LEFT|RIGHT|FULL [OUTER] JOIN 表名 2
ON 表名 1. 字段名 1= 表名 2. 字段名 2
  1. 示例
select plateNo 车牌号 , model 型号 , lineNo 线路号 , from_station 起点站 , end_station 终点站
from vehicle V  
left join line L 
on V.lineID=L.lineID 
where type=' 非空调车 ';

在这里插入图片描述

(五)右外连接查询(RIGHT JOIN)

  1. 概念:右外连接是左外连接的反向连接。右外连接的结果集包括右表的所有记录和左表中满足连接条件的记录,结果集中那些不符合连接条件的来源于左表的列值为 null。
  2. 示例
select plateNo 车牌号 , model 型号 , lineNo 线路号 , from_station 起点站 , end_station 终点站
from vehicle V  
right join line L 
on V.lineID=L.lineID

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值