【MySQL】什么是子查询
1.谁的工资比Abel的高?
方式一:先查询Abel的工资,再查比Abel工资高的员工
SELECT salary FROM employees WHERE last_name = 'Abel'; SELECT last_name,salary FROM employees WHERE salary > 11000;
方式二:自连接
SELECT e2.last_name,e2.salary FROM employees e1,employees e2 WHERE e2.`salary` > e1.`salary` #多表的连接条件 AND e1.last_name = 'Abel';
方式三:子查询
SELECT last_name,salary FROM employees WHERE salary > ( SELECT salary FROM employees WHERE last_name = 'Abel' );
子查询(内查询)在主查询之前一次执行完成,子查询的结果被主查询使用。
注意事项:
(1)子查询要包含在括号内
(2)将子查询放在比较条件的右侧
(3)单行操作符对应单行子查询,多行操作符对应多行子查询
2.子查询的分类
(1)从内查询返回的结果数:单行子查询 VS 多行子查询
(2)内查询是否被执行多次:相关子查询 VS 不相关子查询
相关:查询工资大于本部门平均工资的员工信息。(不同部门平均工资不同)
不相关:查询工资大于本公司平均工资的员工信息。
分类:
数据库 / MySQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南