第七章MYSQL连接查询

Posted C小杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第七章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

在这里插入图片描述

以上是关于第七章MYSQL连接查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据操作与查询(第七章 下)

MySQL从青铜到王者第七篇:MySQL内外连接

20165309 第七周学习总结

20165210 Java第七周学习总结

20165232 第七周学习总结

第七周 Java语法总结之数据库大全_DDL_DML_DQL_约束_备份与还原_表的关系_三大范式_多表查询(内连接_外连接_子查询)_musql事务_隔离级别