摘要:本次会介绍数据库中的的用法以及它们之间的区别。所以一共有种选择了,也就是笛卡尔积。文末本章节主要介绍了数据库中的用法,以及其他方面的小知识点。
前言
欢迎关注公众号:Coder编程
获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识!
本章主要介绍数据库中Join的的用法,也是我们在使用数据库时非常基础的一个知识点。本次会介绍数据库中的inner join、left join、right join 的用法以及它们之间的区别。 文章如有错误还请大家及时指出~
以下都是采用mysql数据库Join
相信大家在学习数据库的使用时,都有使用过Join,对数据库中的两张或两张以上表进行连接操作。
Join 分为:
内连接(inner join)
外连接(outer join)
其中外连接分为:
左外连接(left outer join)
右外连接(right outer join)
全外连接(full outer join)
笛卡尔积说明:
1.其中外连接的“OUTER”关键字可以省略不写。
2.内连接用于返回满足连接条件的记录;而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录。
在我们进行多表联合查询的时候会出现的一种情况——笛卡尔积现象
我们以下面两张表举例:
学生表(Student)
ID | StudentName | StudentClassID |
---|---|---|
1 | 小明 | 1 |
2 | 小红 | 2 |
3 | 小兰 | 3 |
4 | 小吕 | 2 |
5 | 小梓 | 1 |
班级表(Class)
ClassID | ClassName |
---|---|
1 | 软件一班 |
2 | 软件二班 |
3 | 软件三班 |
当我们进行查询操作的时候:
select * from Student,Class;
就会出现上面的情况,也就是笛卡尔现象,表Student中有5条记录,表Class中有3条记录,那么对于表Student而言有5种选择,对于表Class来说有3种选择。所以一共有 5 * 3 = 15种选择了,也就是笛卡尔积。
内连接查询返回满足条件的所有记录,默认情况下没有指定任何连接则为内连接。
例如:查询xx学生在xx班级 沿用上面的数据表
select stu.StudentName,cl.ClassName from Student stu inner join Class cl on stu.StudentClassID=cl.ClassID;
---
查询结果
左外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符左边表的其他行。
我们在原Student 表中新增学生:小美
例如: 查询xx学生在xx班级 沿用上面的数据表
select stu.StudentName,cl.ClassName from Student stu left join Class cl on stu.StudentClassID=cl.ClassID;
查询结果
右外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符右边表的其他行。
我们在原Class表中新增班级:软件四班
例如: 查询xx学生在xx班级 沿用上面的数据表
select stu.StudentName,cl.ClassName from Student stu right join Class cl on stu.StudentClassID=cl.ClassID;
查询结果
全连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的其他行。
注:mysql默认不支持full join。
这里我们就不做介绍了。
本章节主要介绍了数据库中JOIN的用法,以及其他方面的小知识点。推荐阅读
欢迎关注公众号:Coder编程
获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识!
一篇让你理解进程与线程的区别与联系
通过“表白”的方式,让我们快速了解网络协议
一篇带你读懂TCP之“滑动窗口”协议
参考文章:
https://www.cnblogs.com/jacks...
http://www.360doc.com/content...
Github个人主页目录
Gitee个人主页目录
欢迎大家关注并Star~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/17966.html
阅读 1259·2021-11-23 09:51
阅读 1626·2021-11-16 11:45
阅读 4012·2021-10-09 09:43
阅读 2680·2021-07-22 16:47
阅读 943·2019-08-27 10:55
阅读 3448·2019-08-26 17:40
阅读 3082·2019-08-26 11:39
阅读 3227·2019-08-23 18:39