当前位置:网站首页>MySQL --- 子查询 - 标量子查询
MySQL --- 子查询 - 标量子查询
2022-07-24 07:41:00 【小雪菜本菜】
标量子查询
子查询返回的是单行单列的数据,就是一个值
主要用在WHERE子句中
需要用到一些运算符 大于>、小于<、等于=、不等于<>、!=
子查询的书写方式
①从外往内写
②从内往外写
查询出基本工资比ALLEN低的全部员工信息
从外往内写
-- 查询出全部员工信息
SELECT * FROM emp;
-- ALLEN的工资
SELECT sal FROM emp WHERE ename='ALLEN';
-- 查询出([基本工资比ALLEN低的]全部员工信息)
SELECT * FROM emp WHERE sal<(SELECT sal FROM emp WHERE ename='ALLEN');


查询基本工资高于公司平均工资的全部员工信息
-- 查询公司平均工资
SELECT AVG(sal) FROM emp;/*1988.3333*/
-- 查询基本工资高于公司平均工资的全部员工信息
SELECT * FROM emp WHERE sal>1988.3333;
-- 查询[基本工资高于(公司平均工资)的全部员工信息]
SELECT * FROM emp WHERE sal>(SELECT AVG(sal) FROM emp);从内往外写
MySQL --- 数据库查询 - 聚合函数的使用、聚合查询、分组查询



查询出与ALLEN从事同一工作,并且基本工资高于员工编号为7521的全部员工信息
-- 查询出与ALLEN从事同一工作
SELECT * FROM emp
WHERE job=(SELECT job FROM emp WHERE ename='ALLEN')
-- 并且基本工资高于员工编号为7521的全部员工信息
AND sal>(SELECT sal FROM emp WHERE empno=7521)
-- 把 ALLEN 从查询结果中剔除
AND ename<>'ALLEN';


可以发现查询结果中包含 ALLEN,需要把 ALLEN 从查询结果中剔除

单行子查询
子查询返回的是单行多列的数据,就是一条记录
查询与SCOTT从事同一工作且工资相同的员工信息
-- 查询与SCOTT从事同一工作且工资相同的员工信息
SELECT * FROM emp
WHERE job=(SELECT job FROM emp WHERE ename='SCOTT')
AND sal=(SELECT sal FROM emp WHERE ename='SCOTT')
AND ename<>'SCOTT';使用标量子查询

使用单行子查询
-- 查询SCOTT的员工信息
SELECT job,sal FROM emp WHERE ename='SCOTT';
-- 查询与SCOTT从事同一工作且工资相同的员工信息
SELECT * FROM emp WHERE (job,sal)=(SELECT job,sal FROM emp WHERE ename='SCOTT');

查询与员工编号为7566从事同一工作且领导相同的全部员工信息
-- 查询与员工编号为7566从事同一工作且领导相同的全部员工信息
SELECT * FROM emp WHERE
(job,mgr)=(SELECT job,mgr FROM emp WHERE empno=7566);

查询与ALLEN从事同一工作且在同一年雇佣的全部员工信息(包含ALLEN)
列数相同、数据类型相同可以直接进行比较
MySQL --- 常用函数 - 数值函数、时间日期函数、条件判断函数、其他函数
-- 查询与ALLEN从事同一工作且在同一年雇佣的全部员工信息(包含ALLEN)
SELECT * FROM emp WHERE
(job,DATE_FORMAT(hiredate,'%Y'))=
(SELECT job,DATE_FORMAT(hiredate,'%Y') FROM emp WHERE ename='ALLEN');

边栏推荐
- stdafx. H introduction and function
- 剑指offer专项突击版第8天
- Install librosa using Tsinghua image
- Selenium basic knowledge automatically login Baidu online disk
- Basic operation of queue
- Collection of sorting topics
- Simple installation of sqli Labs
- Introduction to C language II. Functions
- 【云原生】MySql索引分析及查询优化
- Starting from scratch C language intensive Part 3: Functions
猜你喜欢

Requests crawl page source code data

Jenkins detailed deployment

requests-爬取页面源码数据

Appium doctor command error pit - resolved
![[cloud native] MySQL index analysis and query optimization](/img/ca/79783721637641cb8225bc26a8c4a9.png)
[cloud native] MySQL index analysis and query optimization

Arduino在不同主频下稳定支持的TTL串口速率

About using the alignment function of VMD

Introduction to C language III Array 4. Operators

Starting from scratch C language intensive Part 3: Functions

Deep learning two or three things - review those classical convolutional neural networks
随机推荐
Selenium basic knowledge debugging method
numpy.arange
Advanced part of C language IV. detailed explanation of user-defined types
Game three piece chess
Introduction to C language
Facing Tencent (actual combat) - Test Development - detailed explanation of interns (face experience)
无法自动装配,未找到“RedisTemplate类型的Bean
Starting from scratch C language intensive Part 3: Functions
系统集成项目管理工程师(软考中级)重点知识、背诵版
Hcip day 7
Use JMeter to analyze and test the lottery probability of the lottery interface
多种优化方法打印100~200之间的素数
R language handwritten numeral recognition
觉维设计响应式布局
Tools for data visualization
Arduino's super power-saving sleep mode has worked with one 18650 battery for 17 years
Sword finger offer special assault edition day 8
About the solution of thinking that you download torch as a GPU version, but the result is really a CPU version
Binary search common questions
爬虫学习-概述