【MySQL篇】多表查询知识点——子查询(全)
创始人
2024-04-06 18:39:09
0

多表查询请参考另一篇文章: 

【MySQL篇】多表查询知识—— 多表查询(全)_南斋孤鹤的博客-CSDN博客多表查询语法及案例:内连接,外连接,自连接,联合查询等语法及案例使用:https://blog.csdn.net/m0_64231944/article/details/127802230?spm=1001.2014.3001.5502目录

子查询概念及分类:

对子查询的理解:

 1,标量子查询:

2,列子查询:

3,行子查询:

4,表子查询:


子查询概念及分类:

对子查询的理解:

        子查询实际就是查询语句嵌套查询语句,然后通过子查询语句的返回值不同可以将子查询分为不同种类;以往我们在sql语句中的where条件中的条件都是固定的值,有了子查询语句我们就可以实现将查询语句放到where条件中去;

 1,标量子查询:

描述:子查询的返回结果为单个的值(数字、字符串、日期等):

案例一:

案例二:

2,列子查询:

描述:子查询返回的结果是一列(可以是多行);

常用操作符:IN ,NOT IN ,ALL ,SOME ,ANY ;

 案例一:

# 列子查询
# 查询销售部和市场部的所有员工信息
# 查询销售部和市场部的id
select id from dept where name='销售部' or name='市场部'; #id为2 4
# 查询两个部门的所有员工
select * from emp where dept_id in (2,4);
# 合并
select * from emp where dept_id in (select id from dept where name='销售部' or name='市场部');

案例二:

案例三:

3,行子查询:

描述:子查询的返回结果是一行(可以是多列);

案例:

# 查询与张无忌的薪资及直属领导相同的员工信息
# 查询张无忌的薪资和直属领导
select salary, managerid from emp where name='张无忌';
# 查询与张无忌的薪资及直属领导相同的员工信息
select * from emp where (salary,managerid)=(select salary, managerid from emp where name='张无忌');

4,表子查询:

描述:子查询的返回值是多行多列,也就是返回一个表格;

案例一:

# 查询与鹿杖客和宋远桥的职位和薪资相同的员工信息
select * from emp where (job, salary) in ( select job, salary from emp where name in ('鹿杖客', '宋远桥'));

案例二:

# 查询入职日期是’2006-01-01‘之后的员工信息和部门信息
# 先查询出入职在’2006-01-01‘之后员工的所有信息
# 与部门表左连接
select e.*, dept.* from (select * from emp where entrydate>'2006-01-01') e left outer join dept on e.dept_id=dept.id;

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...