复习sql: 内连接,左外连接,右外连接,全外连接,交叉连接

数据表准备 学生表 和 课程表


内连接 join 或 innner join

筛选出满足条件的列,where也可以实现这种功能。

sql 复制代码
SELECT * FROM student JOIN course ON student.student_id = course.stu_id

结果

外连接

左外连接 left join 或者 left outer join

以第一个表为基础,第二个表找不到的项就设置为NULL。

sql 复制代码
SELECT * FROM student LEFT JOIN course ON student.student_id = course.stu_id

结果

右外连接 right join 或者 right outer join

以第二个表为基础,第一个表找不到的项就设置为NULL。

sql 复制代码
SELECT * FROM student RIGHT JOIN course ON student.student_id = course.stu_id

结果

全外连接 full join 或者 full outer join(SQL Server有,MYSQL没有全外连接)

左外连接+右外连接的结果。

交叉连接

表1的每一行都与表2的每一行拼接。(笛卡尔积)

sql 复制代码
SELECT * FROM student RIGHT JOIN course ON student.student_id = course.stu_id

参考链接

通俗易懂的join、left join、right join、full join、cross join

相关推荐
Mr.131 小时前
数据库的三范式是什么?
数据库
Cachel wood1 小时前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Python之栈1 小时前
【无标题】
数据库·python·mysql
风_流沙1 小时前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
亽仒凣凣1 小时前
Windows安装Redis图文教程
数据库·windows·redis
亦世凡华、2 小时前
MySQL--》如何在MySQL中打造高效优化索引
数据库·经验分享·mysql·索引·性能分析
YashanDB2 小时前
【YashanDB知识库】Mybatis-Plus调用YashanDB怎么设置分页
数据库·yashandb·崖山数据库
ProtonBase2 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
云和数据.ChenGuang7 小时前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys7 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver