复习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

相关推荐
喝醉的小喵1 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁
付出不多2 小时前
Linux——mysql主从复制与读写分离
数据库·mysql
初次见面我叫泰隆2 小时前
MySQL——1、数据库基础
数据库·adb
Chasing__Dreams2 小时前
Redis--基础知识点--26--过期删除策略 与 淘汰策略
数据库·redis·缓存
源码云商2 小时前
【带文档】网上点餐系统 springboot + vue 全栈项目实战(源码+数据库+万字说明文档)
数据库·vue.js·spring boot
源远流长jerry2 小时前
MySQL的缓存策略
数据库·mysql·缓存
纯纯沙口3 小时前
Qt—用SQLite实现简单的注册登录界面
数据库·sqlite
初次见面我叫泰隆3 小时前
MySQL——3、数据类型
数据库·mysql
一叶屋檐3 小时前
Neo4j 图书馆借阅系统知识图谱设计
服务器·数据库·cypher
好吃的肘子4 小时前
MongoDB 应用实战
大数据·开发语言·数据库·算法·mongodb·全文检索