子查询不同情况
子查询的结果是单行单列的:
子查询可以作为条件,使用运算符去判断。运算符.。> >= < <= =
-- 查询员工工资小于平均工资的人 SELECT * FROM emp where emp.salary < (SELECT AVG(salary) FROM emp);
子查询的结果是多行单列的:
-- 查询'财务部'和市场部所有员工信息 SELECT id FROM dept WHERE name = '财务部' or name = '市场部'; SELECT * FROM emp WHERE dept_id = 3 or dept_id = 2; -- 子查询 SELECT * FROM emp WHERE dept_id in (SELECT id FROM dept WHERE name = '财务部' or name = '市场部');
多表查询_子查询情况3
子查询的结果是多行多列的
-- 查询员工入职日期2011-11-11日之后的员工信息和都门信息 SELECT * FROM dept t1,(SELECT * FROM emp WHERE emp.join_date > '2011-11-11') t2 WHERE t1.id = t2.dept_id;
-- 普通连接 SELECT * FROM emp t1,dept t2 WHERE t1.dept_id = t2.id and t1.JOIN_date > '2011-11-11';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)