博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql高级查询 内连接和外连接详解
阅读量:7260 次
发布时间:2019-06-29

本文共 1003 字,大约阅读时间需要 3 分钟。

一、内连接(INNER JOIN)

1、等值连接

概述:指使用等号"="比较两个表的连接列的值,相当于两表执行笛卡尔后,取两表连结列值相等的记录。

语法

SELECT 列FROM 表1 INNER JOIN 表2ON 表1.列 = 表2.列

示例

 

SELECT A.*, B.*FROM student_info A inner join student_score BON A.student_id = B.student_id

2、非等值连接

概述指使用大于号">"或小于号"<"比较两个表的连接列的值,相当于两表执行笛卡尔后,取一个表大于或小于另一个表的连结列值的记录。

语法

SELECT 列FROM 表1 INNER JOIN 表2ON 表1.列 <> 表2.列

示例

 

SELECT A.*, B.*FROM student_info A inner join student_score BON A.student_id > B.student_id

结果

二、外联结

1、左外连接(LEFT OUTER JOIN)

概述:指将左表的所有记录与右表符合条件的记录,返回的结果除内连接的结果,还有左表不符合条件的记录,并在右表相应列中填NULL。

示例

 

SELECT A.*, B.*FROM student_info A left join student_score BON A.student_id = B.student_id

结果

 

3、全外连接(FULL JOIN)——MySQL不支持

概述:指将左表所有记录与右表所有记录进行连接,返回的结果除内连接的结果,还有左表与右表不符合条件的记录,并在左表与右表相应列中填NULL。

 

三、自然连接(NATURAL JOIN

概述:指自动将表中相同名称的列进行记录匹配。

示例

SELECT A.*, B.*FROM student_info A natural join student_score B

结果

四、自连接

概述:指用表的别名实现表自身的连接。

示例

 

SELECT B.*FROM student_score A, student_score BWHERE A.student_id = B.student_idAND B.student_score > 80

结果

最后附上一张图,此图在手,天下我有

 

 

 

 

 

转载地址:http://nqkdm.baihongyu.com/

你可能感兴趣的文章
Android实例-手机震动(XE8+小米2)
查看>>
音频,视频项目
查看>>
关于expanded一级二级菜单数据的分组排序
查看>>
金环(2017佛山市选拔初中组)
查看>>
hexo搭建教程
查看>>
9月14日学习内容整理:初识别面向对象
查看>>
12月20日学习内容整理:博客系统之media配置
查看>>
Flask的闪现(message) 请求扩展 中间件 蓝图
查看>>
大三下学期第四周总结
查看>>
vue学习笔记(WebStorm安装)
查看>>
《深入浅出WPF》系列视频(特辑)——MVVM入门与提高(难度300+)
查看>>
numpy meshgrid 和 mgrid 的两个简单实例和解析
查看>>
[转]ubuntu系统重新分区、根目录扩容
查看>>
[leetcode-412-Fizz Buzz]
查看>>
SQLServer 事务的隔离级别
查看>>
HTTP,FTP,TCP,UDP及SOCKET
查看>>
UVA 220 Othello
查看>>
Innodb存储引擎的缓存命中率计算
查看>>
php判断http头还是https头
查看>>
PHP 更高效的字符长度判断方法(转)
查看>>