多表查询概述和多表查询内连接
多表查询概述:
多表查询的意思是一次查多个表,SQL语句上不是有这样的一句语句吗
SELECT 列表字段名 FROM 列表表名,这就意味着from后面也可以跟多个列表表名
比如:SELECT * FROM emp,dept;
查出来的结果:
笛卡尔积︰
有两个集合A,B .取这两个集合的所有组成情况。
要完成多表查询,需要消除无用的数据
多表查询的分类∶
1.内连接查询:
2.外链接查询:
3.子查询:
多表查询内连接:
多表查询的分类:
1.内连接查询:
1.隐式内连接︰使用where条件消除无用数据
例子∶
--查询所有员工信总和对应的部门信息
SELECT* FROM emp,dept wHERE emp. dept_id` = dept." id ;
--查询员工表的名称,性别。部门表的名称
SELECT emp.name , emp.gender , dept. name FRON emp ,dept WHERE emp. ' dept_id’ = dept. ' id ;
SELECT
t1.name, --员工表的姓名
t1.gender,--员工表的性别
t2.name --部门表的名称
FROM
emp t1,
dept t2
WHERE
t1.dept_id = t2.id;
2.显式内连接:
语法: select字段列表 from表名1 [inner] join表名2 on条件
例如∶
SELECT * FROM emp INNER J0IN dept ow emp. ' dept_id` = dept. " id` ;
SELECT * FROM emp JOIN dept oN emp. ` dept_id'= dept. id ;
3.内连接查询:
1.从哪些表中查询数据
2.条件是什么
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?