赞
踩
目录
MySQL中join大致分为以下三类:
right join:右外连接,是返回右表中所有的行及左表中符合条件的行。
left join:左外连接,是返回左表中所有的行及右表中符合条件的行。
join(inner join):内连接,是返回两个表中都有的符合条件的行。
具体共七种方法如下图所示:
- #创建示例库joins
- create database joins;
- use joins;
-
- #将库编码调整为utf8,防止后续操作插入中文数据发生报错
- alter database joins character set utf8;
- #创建表kemu,score
- create table kemu(id varchar(10),kemu varchar(10));
- create table score(id varchar(10),score varchar(10));
-
- #为两表插入数据
- insert into kemu values('1','语文'),('2','数学'),('3','英语');
- insert into score values('2','70'),('3','80'),('4','90');
示例表如图所示:
kemu表(表1) score表(表2)
“右外连接”,表1右连接表2,以右为主,表示以表2为主,关联查询表1的数据,查出表2所有数据以及表1和表2有交集的数据,如下:
- select
- *
- from
- kemu
- right join score on kemu.id = score.id;
结果集:
“左外连接”,表1左连接表2,以左为主,表示以表1为主,关联查询表2的数据,查出表1所有数据以及表1和表2有交集的数据,如下:
- select
- *
- from
- kemu
- left join score on kemu.id = score.id;
结果集:
join,其实就是“inner join”,为了简写才写成join,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来,这个用的情况也是挺多的,如下:
- select
- *
- from
- kemu
- join score on kemu.id = score.id;
结果集:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。