知识不成体系?这篇Mysql数据库将成为你的解忧杂货店!(子查询)

 欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力

对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    专栏:

  • java全栈
  • C&C++
  • PythonAI
  • PCB设计

文章概述:对mysql的 子查询命令的详细介绍&对应的习题&注意点

关键词:Mysql    子查询

本文目录

子查询简介

单行子查询

多行子查询

1、ANY 运算符 

2.ALL运算符

3.子查询中的空值

子查询练习

  • 子查询简介

子查询是一个 SELECT 语句,它是嵌在另一个 SELECT 语句中的子句。使用子查询可以用简单的语句构建功能强大的语句

#查询与Fox同一部门的同事,并显示他们的名字与部门ID。

select e.LAST_NAME,e.DEPARTMENT_ID FROM employees e
where e.DEPARTMENT_ID=
(select e1.DEPARTMENT_ID from employees e1 where e1.last_name='Fox');

单行子查询

单行子查询是从内查询返回一行的查询。在该子查询类型中用一个单行操作符。

#查询Fox的同事,但是不包含他自己。

select empl.last_name from employees emplwhereempl.department_id
=(selecte.department_id from employees ewheree.last_name='Fox') and
empl.last_name<>'Fox';  

多行子查询


 

子查询返回多行被称为多行子查询。对多行子查询要使用多行运算符而不是单行运算符

1、ANY 运算符 

ANY 运算符比较一个值与一个子查询返回的任意一个值。

  1. < ANY 意思是小于最大值。
  2. > ANY 意思是大于最小值。
  3. = ANY 等同于 IN or 的关系

2.ALL运算符

ALL运算符比较一个值与子查询返回的全部值。

  1. < ALL意思是小于最小值。
  2. > ALL意思是大于最大值。

NOT运算符可以与IN运算符一起使用。

3.子查询中的空值

(子查询)内查询返回的值含有空值,并因此整个查询无返回行,原因是用大于、小于或不等于比较Null值,都返回null。所以,只要空值可能是子查询结果集的一部分,就不能用NOT IN运算符。NOT IN运算符相当于<> ALL (不等于谁并且不等于谁并且不等于谁)。

注意,空值作为一个子查询结果集的一部分,如果使用IN操作符的话,不是一个问题。IN操作符相当于=ANY。

#in括号里是多结果用in 判断所有符合内函数结果的条件

SELECT emp.last_name 
FROM employees emp 
WHERE emp.employee_id 
IN 
(SELECT mgr.manager_id 
FROM employees mgr
); 


 

#查找各部门收入为部门最低的那些雇员。显示他们的名字,薪水以及部门ID

select em.last_name,em.salary,em.department_id from employees em where
em.salary in(select min(e.salary) from employees e group by e.department_id)
group by em.department_id; 


 

  • 子查询练习

1、

#写一个查询显示与Zlotkey在同一部门的雇员的last name和hire date,结果中不包括Zlotkey。

SELECT
e1.LAST_NAME,e1.HIRE_DATE
FROM employees e1
where e1.DEPARTMENT_ID=
(select e.DEPARTMENT_ID 
FROM employees e
where e.LAST_NAME='Zlotkey'
)
AND e1.LAST_NAME<>'Zlotkey'; 

2、

#创建一个查询显示所有其薪水高于平均薪水的雇员的雇员号和名字。按薪水的升序排序。

SELECT
e1.EMPLOYEE_ID,e1.LAST_NAME
FROM employees e1
WHERE e1.SALARY>
(
select AVG(e.SALARY)
from employees e
)
ORDER BY e1.SALARY;

3、

#写一个查询显示所有工作在有任一雇员的名字中包含一个u的部门的雇员的雇员号和名字

SELECT
e1.EMPLOYEE_ID,e1.LAST_NAME
FROM employees e1
WHERE e1.DEPARTMENT_ID IN
(SELECT e.DEPARTMENT_ID
FROM employees e 
WHERE e.LAST_NAME like '%u%'
)

4、

#.显示所有部门地点号(department location ID )是1700的雇员的last name、department number和job ID。

SELECT
e.LAST_NAME,e.DEPARTMENT_ID,e.JOB_ID
FROM employees e
WHERE e.DEPARTMENT_IDIN
(SELECT
d.DEPARTMENT_ID
FROM departments d
WHERE d.LOCATION_ID=1700)   

5、

#显示每个向King报告的雇员的名字和薪水。

SELECT
e1.LAST_NAME,e1.SALARY
FROM employees e1
where e1.MANAGER_IDIN
(select e.EMPLOYEE_ID
from employees e 
where e.LAST_NAME='King'
) 

6、

#.显示在Executive部门的每个雇员的department number、last name和job ID。

SELECT
e.DEPARTMENT_ID,e.LAST_NAME,e.JOB_ID
FROM employees e
WHERE e.DEPARTMENT_ID=
(select d.DEPARTMENT_ID 
FROM departments d 
WHERE d.DEPARTMENT_NAME='Executive'
);  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/863509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网线直连电脑可以上网,网线连tplink路由器上不了网

家里wifi网络连不上好几天了&#xff0c;用网线直连电脑可以上网&#xff0c;但网线连tplink路由器wan口上不了网&#xff0c;无Internet连接&#xff0c;网线连lan口可以电脑上网&#xff0c;手机上不了。 后来发现网线的主路由用的192.168.0.1&#xff0c;我的路由器wan口自…

R包的4种安装方式及常见问题解决方法

R包的4种安装方式及常见问题解决方法 R包的四种安装方式1. install.packages()2. 从Bioconductor安装3. 从本地源码安装4. 从github安装 常见问题的解决1. 版本问题2. 网络/镜像问题3.缺少Rtools R包的四种安装方式 1. install.packages() 对于R自带的包的安装一般都可以通过…

共模和差模的基本概念

电压电流在导体或导线中传播时&#xff0c;存在两种工作形态&#xff1a;共模和差模。电子设备的信号线在进行相互通信时&#xff0c;至少会存在两根导线以形成电传输回路&#xff0c;除此之外&#xff0c;通常还存在第三个导体&#xff0c;即“参考地”。当信号正常传输时&…

51单片机第18步_将TIM0用作13位定时器

本章重点学习将TIM0用作13位定时器。 #include <REG51.h> //包含头文件REG51.h,使能51内部寄存器; //定时器的方式控制寄存器TMOD: GATE1,C/T1,M1_1,M1_0,GATE0,C/T0,M0_1,M0_0 //GATE11,表示T1是受INT1脚(P3.3)控制运行; //C/T10,表示T1的时钟源为fosc/12;C/T11,表示…

c++类成员指针用法

1&#xff09;C入门级小知识&#xff0c;分享给将要学习或者正在学习C开发的同学。 2&#xff09;内容属于原创&#xff0c;若转载&#xff0c;请说明出处。 3&#xff09;提供相关问题有偿答疑和支持。 c中新增类成员指针操作&#xff0c;为了访问方便&#xff0c;他是指…

Meven

目录 1.简介2.Maven项目目录结构2.1 约定目录结构的意义2.2 约定大于配置 3. POM.XML介绍3.2 依赖引用3.3 属性管理 4 Maven生命周期4.1 经常遇到的生命周期4.1 全部生命周期 5.依赖范围&#xff08;Scope&#xff09;6. 依赖传递6.1 依赖冲突6.2 解决依赖冲突6.2.1 最近依赖者…

微信小程序调用函数

在微信小程序中调用函数是一个基础且重要的概念&#xff0c;它贯穿于小程序开发的各个方面。函数可以定义在Page对象中&#xff0c;也可以定义在独立的JS文件中并通过模块导入使用。下面我将详细介绍几种常见的函数调用场景和方法。 1. 在Page对象中定义和调用函数 在小程序的…

鸿蒙项目实战-月木学途:1.编写首页,包括搜索栏、轮播图、宫格

效果展示 搜索栏制作 相关知识回顾 输入框组件TextInput 单行输入框类型.type(InputType.Normal)//基本输入框.type(InputType.Password)//密码.type(InputType.Email)//邮箱.type(InputType.Number)//数字.type(InputType.PhoneNumber)//电话号.type(InputType.Normal).type…

地图初始化-多视图几何基础

在ORB-SLAM2中初始化和使用的传感器类型有关&#xff0c;其中单目相机模式初始化相对复杂&#xff0c;需要运行一段时间才能成功初始化。而双目相机、 RGB-D相机模式下比较简单&#xff0c;一般从第一帧开始就可以完成初始化。 为什么不同传感器类型初始化差别这么大呢&#x…

微信小程序实现轻提示

微信小程序提供了多种内置的方法来显示提示信息&#xff0c;包括但不限于wx.showToast、wx.showModal和wx.showLoading等。这些方法可以快速地在小程序中实现各种提示效果&#xff0c;而无需手动编写复杂的动画或样式代码。下面&#xff0c;我将详细介绍这几个方法的使用。 1.…

spring-security安全框架(超精细版附带流程讲解图)

目录 一、回顾一下 二、security使用 2.1 覆盖掉默认配置「自定义配置」 2.2 如何自定义认证 2.3 纯纯自定义 2.4 jwt 2.5 官网认证流程 2.6 RBAC模型 4.1. 创建表结构 2.7 如何实现权限流程 一、回顾一下 security干啥的? 认证和授权 使用方式 引入依赖, 基于spri…

算法力扣刷题 二十五【28.找出字符串中第一个匹配项的下标】

前言 字符串篇&#xff0c;继续。 记录 二十五【28.找出字符串中第一个匹配项的下标】 一、题目阅读 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不…

RESTful Web 服务详解

RESTful Web 服务是一种基于 Representational State Transfer (REST) 架构风格的 Web 服务&#xff0c;它利用 HTTP 协议来传输数据&#xff0c;支持多种数据格式如 JSON 和 XML。在 Spring 框架中&#xff0c;通过简单配置和注解可以轻松实现 RESTful Web 服务。在本文中&…

C语言中的基础指针操作

在C语言中&#xff0c;指针是一个非常重要的概念&#xff0c;它提供了直接访问内存地址的能力。指针变量用于存储内存地址&#xff0c;而不是数据值&#xff0c;在某种意义上和门牌号具有相似含义&#xff1a;指针是一个变量&#xff0c;其存储的是另一个变量的内存地址&#x…

java之动态代理

1 代理模式 代理模式提供了对目标对象额外的访问方式&#xff0c;即通过代理对象访问目标对象&#xff0c;这样可以在不修改原目标对象的前提下&#xff0c;提供额外的功能操作&#xff0c;扩展目标对象的功能。简言之&#xff0c;代理模式就是设置一个中间代理来控制访问原目标…

超级对齐是什么?

超级对齐是一个在人工智能&#xff08;AI&#xff09;领域中的概念&#xff0c;其定义和重要性可以从以下几个方面来清晰地阐述&#xff1a; 1. **定义**&#xff1a; - 超级对齐是指确保在所有领域都超越人类智能的超级人工智能&#xff08;AI&#xff09;系统按照人类的价值观…

C++标准模板(STL)- 迭代器库 - 流迭代器- 写入 std::basic_ostream 的输出迭代器(二)

迭代器库-流迭代器 迭代器库提供了五种迭代器的定义&#xff0c;同时还提供了迭代器特征、适配器及相关的工具函数。 迭代器分类 迭代器共有五 (C17 前)六 (C17 起)种&#xff1a;遗留输入迭代器 (LegacyInputIterator) 、遗留输出迭代器 (LegacyOutputIterator) 、遗留向前迭代…

网络io与select,poll,epoll

前言 网络 IO&#xff0c;会涉及到两个系统对象&#xff0c;一个是用户空间调用 IO 的进程或者线程&#xff0c;另一个是内核空间的内核系统&#xff0c;比如发生 IO 操作 read 时&#xff0c;它会经历两个阶段&#xff1a; 1. 等待数据准备就绪 2. 将数据从内核拷贝到进程或…

网络编程常见问题

1、TCP状态迁移图 2、TCP三次握手过程 2.1、握手流程 1、TCP服务器进程先创建传输控制块TCB&#xff0c;时刻准备接受客户进程的连接请求&#xff0c;此时服务器就进入了LISTEN&#xff08;监听&#xff09;状态&#xff1b; 2、TCP客户进程也是先创建传输控制块TCB&#xff…

WebSockets 完全指南:在 Postman 中测试实时通信

标题&#xff1a;WebSockets 完全指南&#xff1a;在 Postman 中测试实时通信 摘要 Postman 是 API 开发者广泛使用的工具&#xff0c;支持 RESTful API 的测试和调试。随着实时通信的兴起&#xff0c;WebSockets 协议变得日益重要。本文将详细介绍如何在 Postman 中测试 Web…