MySQL (内、左、右)连接查询(多表查询)

您所在的位置:网站首页 左连接实例 MySQL (内、左、右)连接查询(多表查询)

MySQL (内、左、右)连接查询(多表查询)

2024-05-26 06:38| 来源: 网络整理| 查看: 265

MySQL (内、左、右)连接查询 一、MySQL内连接查询内连接的语法结构实例操作 二、MySQL左连接查询左连接的语法结构实例操作 三、MySQL右连接查询右连接的语法结构实例操作

一、MySQL内连接查询 内连接的语法结构

SELECT column ( 要查询的字段) FROM table1(需要做连接查询的表名)INNER JOIN (内连接)table2 ON 连接条件

注: 1)join:用于根据两个或多个表中的列之间的关系,从这些表中查询数据 2)用于查询两张或多张表中同时符合某种条件的数据记录 3)语法中使用 INNER JOIN关键字连接多张表,并使用ON设置连接条件 4)是系统默认的表连接方式,可以省略INNER关键字 5)多表支持连续使用INNERJOIN,建议不超过三个表 6)ON后面的条件恒等与1,即为真,不然会报错 7)ON后面如果连接条件是字段时,字段的类型一定要一样

在这里插入图片描述

实例操作 有下面两张表,表名和内容如下: 第一张表: mysql> select * from stu; +----+---------+-------+------+------+ | id | name | score | hoby | dizi | +----+---------+-------+------+------+ | 1 | tianxia | 78.00 | 2 | nj | | 2 | diyi | 89.00 | 1 | nj | | 3 | wode | 55.00 | 1 | NULL | | 4 | tade | 57.00 | 3 | NULL | | 5 | nida | 66.00 | 1 | nj | | 6 | liushou | 55.00 | 3 | | | 7 | xiaoer | 69.00 | 10 | bj | | 8 | dage | 78.00 | 8 | tj | +----+---------+-------+------+------+ 第二张表: mysql> select * from hob; +----+-----------+ | id | hoby | +----+-----------+ | 1 | 篮球 | | 2 | 足球 | | 3 | 乒乓球 | | 4 | 羽毛球 | | 5 | 台球 | | 6 | 网球 | +----+-----------+ 6 rows in set (0.00 sec) 通过内连接将两表的hoby字段连接查询 得到的结果如下: mysql> select a.id,a.name,b.hooby from stu as a inner join hob as b on a.hoby=b.id; +----+---------+-----------+ | id | name | hooby | +----+---------+-----------+ | 1 | tianxia | 足球 | | 2 | diyi | 篮球 | | 3 | wode | 篮球 | | 4 | tade | 乒乓球 | | 5 | nida | 篮球 | | 6 | liushou | 乒乓球 | +----+---------+-----------+ 6 rows in set (0.00 sec) 二、MySQL左连接查询 左连接的语法结构

SELECT column ( 要查询的字段) FROM table1(需要做连接查询的表名)LEFT JOIN (左连接)table2 ON 连接条件

注: 1)假设有A、B两张表,左连接查询即 A表在左不动,B表在右滑动,A表与B表通过一个条件来关联记录,B表去匹配A表。 2)用于查询一张表的全部内容与另一张表符合条件的记录,即匹配左表中所有记录及右表中符合条件的记录 3)语法中使用 LEFT JOIN关键字连接表,并使用ON设置连接条件 4)未匹配到的字段默认用NULL补充 在这里插入图片描述

实例操作 通过左连接将两表的hoby字段连接查询 得到结果如下: mysql> select a.id,a.name,b.hooby from stu as a left join hob as b on a.hoby=b.id; +----+---------+-----------+ | id | name | hooby | +----+---------+-----------+ | 2 | diyi | 篮球 | | 3 | wode | 篮球 | | 5 | nida | 篮球 | | 1 | tianxia | 足球 | | 4 | tade | 乒乓球 | | 6 | liushou | 乒乓球 | | 7 | xiaoer | NULL | | 8 | dage | NULL | +----+---------+-----------+ 8 rows in set (0.00 sec) 三、MySQL右连接查询 右连接的语法结构

SELECT column ( 要查询的字段) FROM table1(需要做连接查询的表名)RIGHT JOIN (左连接)table2 ON 连接条件 注: 1)语法中使用 RIGHT JOIN关键字连接表,并使用ON设置连接条件 2)用于查询一张表的全部内容与另一张表符合条件的记录,即匹配右表中所有记录及左表中符合条件的记录 3)未匹配到的字段默认用NULL补充

实例操作 通过左连接将两表的hoby字段连接查询 mysql> select a.id,a.name,b.hooby from stu as a right join hob as b on a.hoby=b.id; +------+---------+-----------+ | id | name | hooby | +------+---------+-----------+ | 1 | tianxia | 足球 | | 2 | diyi | 篮球 | | 3 | wode | 篮球 | | 4 | tade | 乒乓球 | | 5 | nida | 篮球 | | 6 | liushou | 乒乓球 | | NULL | NULL | 羽毛球 | | NULL | NULL | 台球 | | NULL | NULL | 网球 | +------+---------+-----------+ 9 rows in set (0.00 sec)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3