五、多表查询-4.5子查询-表子查询

一、概述

子查询返回的结果是多行多列,这种子查询称为表子查询。

常用的操作符:in

经常出现在from之后

二、演示

【例1】查询与"鹿掌客"、"宋院桥"的职位和薪资相同的员工信息

1、查询与"鹿掌客"、"宋院桥"的职位和薪资

返回的结果是一个表

2、查询与"鹿掌客"、"宋院桥"的职位和薪资相同的员工信息

3、合并两个,变为子查询

【例2】查询入职日期是"2006-01-01"之后的员工信息,及其部门信息

1、查询与入职日期是"2006-01-01"之后的员工信息

2、查询这部分员工对应的部门信息

【代码】

sql 复制代码
-- 表子查询
-- 1、查询与"鹿掌客"、"宋院桥"的职位和薪资相同的员工信息
--    a.查询与"鹿掌客"、"宋院桥"的职位和薪资
select job, salary from emp1 where name = '鹿掌客' or name = '宋院桥';  -- 返回('职员',37500),('销售',4600)
--    b.查询与"鹿掌客"、"宋院桥"的职位和薪资相同的员工信息
select * from emp1 where (job, salary) in (('职员', 37500),('销售', 4600));
-- 合并两个,变为子查询
select * from emp1 where (job, salary) in (select job, salary from emp1 where name = '鹿掌客' or name = '宋院桥');

-- 2、查询入职日期是"2006-01-01"之后的员工信息,及其部门信息
--    a.查询与入职日期是"2006-01-01"之后的员工信息
select * from emp1 where entrydate > '2006-01-01';    -- 返回一个表
--    b.查询这部分员工对应的部门信息
select e.*, d.* from (select * from emp1 where entrydate > '2006-01-01') e left join dept1 d on e.dept_id = d.id;
相关推荐
Leo.yuan7 小时前
2026年多数据库实时同步的四种架构方案及工具推荐
数据库·架构
hasty8 小时前
Origin 校验不是身份认证:MySQL MCP Server 漏洞给 AI 平台的警告
数据库·mysql·安全
梦想平凡9 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
凤山老林9 小时前
Spring Boot 整合 Flowable 的企业级落地指南
数据库·spring boot·后端·flowable·工作流
企业数字化笔记9 小时前
AI写的系统出现504怎么办?接口超时和数据库慢查询排查
数据库·后端
2601_9622186110 小时前
万象生鲜系统订单全生命周期状态同步技术实现业务可视
大数据·数据库·人工智能·python·算法
Wang's Blog10 小时前
Java框架快速入门:Spring Security+OAuth2之用户注册与唯一性校验实现
java·数据库·spring
跨境生态圈10 小时前
2026谷歌SEO快速排名深度解析:合规起量、避坑指南与实战落地策略
数据库·人工智能·爬虫·搜索引擎·chatgpt
JavaPub-rodert11 小时前
Docker 安装 MySQL 完整教程:从零部署数据库,到生产环境持久化配置
数据库·mysql·docker
隔窗听雨眠11 小时前
MySQL整库迁移至KaiwuDB完全指南:从数据类型映射到生产切换的系统性实践
数据库·mysql