当前位置:网站首页>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');

边栏推荐
猜你喜欢

Simple installation of sqli Labs

游戏三子棋

Feature Selective Anchor-Free Module for Single-Shot Object Detection

Introduction to C language I. branch and loop statements

Error when using PIP: pip is configured with locations that requires tls/ssl

Implement a queue with two stacks.

Deep learning two or three things - review those classical convolutional neural networks
![2022-07-23: given n items, each item has weight (w[i]) and value (v[i]), only two items can be selected at most, and the weight does not exceed bag. What is the maximum return value? N <= 10^5, w[i] <](/img/f4/ba2706e93f042dd8b110fac0d873c8.png)
2022-07-23: given n items, each item has weight (w[i]) and value (v[i]), only two items can be selected at most, and the weight does not exceed bag. What is the maximum return value? N <= 10^5, w[i] <

Selenium basic knowledge automatic search

C language advanced part VII. Program compilation and preprocessing
随机推荐
Use JMeter to analyze and test the lottery probability of the lottery interface
从零开始C语言精讲篇3:函数
China trichlorosilane Market Forecast and Strategic Research Report (2022 Edition)
Generate API documents using swagger2markup
Math。 Round, numeric rounding, underlying code parsing
MS SQL Server 2019 学习
【Pytorch】conv2d torchvision.transforms
About the solution of thinking that you download torch as a GPU version, but the result is really a CPU version
【HiFlow】腾讯云HiFlow场景连接器实现校园信息管理智能化
JS_ Realize the separation of multiple lines of text into an array according to the newline
Advanced part of C language IV. detailed explanation of user-defined types
Facing Tencent (actual combat) - Test Development - detailed explanation of interns (face experience)
【信息系统项目管理师】第七章 复盘成本管理知识架构
Selenium basic knowledge multi window processing
Train-clean-100 dataset
C language to achieve mine sweeping game
[Huawei] Huawei machine test question-105
Appium doctor command error pit - resolved
基于VSCode聊聊编译器那些事儿
Basic operation of queue