01-多表查询-多表关系
来源:https://www.bilibili.com/video/BV1Kr4y1i7ru
多表查询目录
- 多表关系
- 多表查询概述
- 内连接
- 外连接
- 自连接
- 子查询
- 多表查询案例
多表关系
- 一对多(多对一)
- 多对多
- 一对一
一对多
部门 和 员工:一个部门里有多个员工
多对多
学生 和 课程:一个学生可选修多门课程,一门课程可以有很多学生在学习。
一对一
用户 和 用户详情
一般用来单表的拆分
多表查询概述
需求:查询多个表里的数据
select * from emp, dept ;
结果集总数是 emp 表记录数 * dept 表记录数
这种现象就是 笛卡尔积
两个集合的所有组合情况
正常需求是需要消除无效的笛卡尔积后的结果集:
A 实际有关系的数据是 3
B 实际有关系的数据是 2
多表查询时怎么消除无效的笛卡尔积
找出两个表相互关联的字段
使用连接查询
select * from emp, dept where emp.department_id = dept.department_id order by emp.employee_id ;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏