【MySQL】:复合查询

复合查询

  • 一.多表查询
  • 二.自连接
  • 三.子查询
    • 1.单行子查询
    • 2.多行子查询
    • 3.多列子查询
    • 4.在from语句里使用子查询
    • 5.合并查询

准备三张表

在这里插入图片描述

emp表

在这里插入图片描述

dept表

在这里插入图片描述

salgrade表

在这里插入图片描述

一.多表查询

实际开发中往往数据来自不同的表,所以需要多表查询。我们用一个简单的公司管理系统,有三张表EMP,DEPT,SALGRADE来演示如何进行多表查询。

显示雇员名、雇员工资以及所在部门的名字因为上面的数据来自EMP和DEPT表,因此要联合查询

首先什么是笛卡尔积

在这里插入图片描述

简而言之就是对多张表进行组合排列。

接着进行联合查询

在所有组合排列里选出合法的数据(员工的部门号与该部门相对应)

在这里插入图片描述

二.自连接

自连接是指在同一张表连接查询。

注意因为表名原因,所以在进行笛卡尔积时需要进行重命名避免名字重复

在这里插入图片描述

一个例子

显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号–empno)

由于领导也是员工,也在emp表里,所以我们一般的查找顺序是先在emp表里找到员工FORD,再找到对应的领导编号。接着再用该编号又在emp表里找到领导,把领导的信息筛选出来。

我们可以让emp和emp进行笛卡尔积(组合,两张表拼在一起),然后再从所有组合里找出符合条件的。

在这里插入图片描述

三.子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询。

1.单行子查询

返回一行记录的子查询。

显示SMITH同一部门的员工

首先找到SMITH所在的部门,再查找该部门员工的信息。

在这里插入图片描述

2.多行子查询

返回多行记录的子查询.

1.查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的

in关键字表示在某个集合之中。10号部门的工作岗位有多个,所以是一个集合,我们只需要找到其他员工的工作岗位与10号部门集合中的任意一个相匹配,就将其筛选出来。

所以,先找出10号部门的工作岗位集合,在找与之相匹配的员工。

在这里插入图片描述

2.显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号

all关键字代表所有。这里要找工资比30号部门的所有员工工资都高,可以使用all关键字。(当然也可以用max).

先找到30号部门所有员工的工资,再筛选出工资更高的员工。

在这里插入图片描述

3.显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)

any关键字代表任意一个。(当然这里也可以使用min)

在这里插入图片描述

3.多列子查询

单行子查询是指子查询只返回单列,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句。

查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人

在这里插入图片描述

4.在from语句里使用子查询

子查询语句出现在from子句中。这里要用到数据查询的技巧,把一个子查询当做一个临时表使用。

1.显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资

我们可以把各个部门的平均工资看作临时表(注意这个表需要取别名),然后再从这个表和emp表里查询需要的信息。

在这里插入图片描述

2.查找每个部门工资最高的人的姓名、工资、部门、最高工资

先找到每个部门的最高工资和部门号形成临时表,再在临时表和emp表里找需要的信息。

在这里插入图片描述

3.显示每个部门的信息(部门名,编号,地址)和人员数量

把部门号和部门人数形成临时表,与dept表一起再进行信息查询。

在这里插入图片描述

5.合并查询

union:该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中的重复行.。
union all:不去重。

将工资大于2500或职位是MANAGER的人找出来

去重

在这里插入图片描述

不去重

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

欧非源国际交易平台在2023中非经济贸易大湾区论坛首次亮相

12月16日,2023中非经济贸易大湾区论坛在鹏城隆重召开,欧非源国际交易平台首次亮相。来自非洲部分国家的驻华使节、中非经济贸易委员会领导以及商(协)会、企业家代表共同见证了欧非源国际交易平台的发布,亲历了该平台与…

Pycharm enable IntelliBot #patched后,工程无法打开

#本地环境# Pycharm:2023.12 Pro 对应robot pkg版本: robotframework 6.1 robotframework-databaselibrary 1.2.4 robotframework-pythonlibcore 4.1.2 robotframework-requests 0.9.4 robotframework-seleniumlibrary 6.1.…

内衣洗衣机好用吗?专门洗内衣内裤的热门小型洗衣机

随着人们的生活水平的提升,越来越多小伙伴来开始追求更高的生活水平,一些智能化的小家电就被发明出来,而且内衣洗衣机是其中一个。现在通过内衣裤感染到细菌真的是越来越多,所以我们对内衣裤的清洗频次会高于普通衣服,…

RFID产线物料、人员自动识别管理设计应用方案

生产过程控制的要求是根据在制品信息,动态地确定在制品组装路线和组装方式,使企业管理层能够实时地发现在制品生产和生产线运转状态,系统主要由流水线、RFID 数据采集系统、在制品和工位几个部分组成。 当在制品在流水线上移动时&#xff0c…

采样率8kHz~96kHz单端输入ADC芯片CJC1808

音频模/数转换器是一种用于将模拟音频信号转换成数字信号的设备,可以提供高质量的音频转换功能;被广泛应用于录音室、数字音频处理、混音、模拟音频处理等应用中;是当今数字音频处理中不可或缺的一部分。 ADC芯片可以提供宽频带的模拟输入&a…

数据结构:树(Tree)

树型结构 树的概念 树是一种非线性结构,他是由n(n>0)个有限结点组成的一个具有层次关系的集合。 当n0时,该树为空树。 在任意一个非空树中都满足以下条件: 1、有一个特殊的结点,称为根结点&#xff0c…

【数据分析之Numpy】Numpy中复制函数numpy.repeat()与numpy.tile()的使用方法及区别

一、简介 numpy.repeat()与numpy.tile()都是Numpy库中的复制函数,用于将数组中的元素重复指定的次数。 numpy.repeat()函数接受三个参数:要重复的数组、重复的次数和重复的轴。 numpy.tile()函数接受两个参数:要重复的数组和重复的次数。 二…

千兆电口模块SFP-GE-T有什么用?

千兆电口模块SFP-GE-T是一种用于网络设备的模块,也被称为光转电模块或电口模块。电口模块SFP-GE-T千兆以太网标准,采用了SFP(Small Form-factor Pluggable)封装,通过其RJ-45接口与网络设备连接,电口模块SFP…

2023年度IT168技术卓越奖名单:亚信安慧AntDB数据库

信创卓越贡献奖:湖南亚信安慧科技有限公司 一句话点评:亚信安慧的核心交易数据库AntDB具有应用时间久(15年)、运行节点多(2000)、数据规模大(PB级)、产品稳定可靠(500项目…

nodejs+vue+微信小程序+python+PHP购物商城网站-计算机毕业设计推荐

综合购物商城管理经历和对网上信息归纳整理的结果,在实际应用中,将用户分为两种:管理员和用户两个角色。其中用户可以操作的内容是有限的,管理员可以进行的操作最多。了解系统用户的分类以及可以进行的操作,对于接下来…

【数据结构】(二叉树)计算结点|叶子结点|高度|第K层结点数

目录 概念: 特殊的二叉树 二叉树的性质 二叉树的存储结构 二叉树的创建 二叉树遍历 前序: 中序: 后序: 计算结点数 计算叶子结点数 计算树的高度(深度) 计算第K层结点数 概念: 一颗…

GPT-4V with Emotion:A Zero-shot Benchmark forMultimodal Emotion Understanding

GPT-4V with Emotion:A Zero-shot Benchmark forMultimodal Emotion Understanding GPT-4V情感:多模态情感理解的zero-shot基准 1.摘要 最近,GPT-4视觉系统(GPT-4V)在各种多模态任务中表现出非凡的性能。然而,它在情感识别方面的功效仍然是个问题。本文定…

AWS-WAF-CDN基于速率rate的永久黑名单方案(基于lambda实现)

参考方案(有坑), 所以产生了这篇博客: 点击跳转 1. 部署waf (有则跳过) 必须存在一个rate速率规则,后面的方案堆栈要用 新建rate速率规则 关联cdn资源 2.部署堆栈 (美国东部 (弗吉尼亚北部 …

【QT】QDockWidget控件的使用

目录 1.概述 2.常用函数介绍 3.QDockWidget布局相关 4.QDockWidget的使用注意事项 5.使用场景 6.简单应用示例代码 1.概述 QDockWidget类提供了一个小部件,可以停靠在QMainWindow中,也可以作为桌面上的顶级窗口浮动。 QDockWidget提供了dock Widg…

Github 2023-12-18 开源项目周报 Top14

根据Github Trendings的统计,本周(2023-12-18统计)共有14个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目4Python项目4Jupyter Notebook项目3非开发语言项目1JavaScript项目1Rust项目1Go项目1 基于项目…

下载svn client,小乌龟

给兄弟们提供一个下载svn client的软件连接 不好用包退货 https://sourceforge.net/projects/tortoisesvn/ 点击download即可

21.三层链路聚合

三层链路聚合 交换机默认的接口模式为二层接口模式 1.先将交换机的接口改为三层模式 2.创建三层链路聚合端口组3 3.将端口加入链路聚合端口组3 4.给聚合后的端口配置IP地址 在路由器上也做链路聚合的操作 1.创建三层链路聚合端口组3 2.将端口加入链路聚合端口组3 …

基于ssm的航班订票管理系统论文

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对航班订票信息管理混乱,出错率高,信息安全性差…

Git账户密码http方式的配置

Git账户密码http方式的配置 入门 git在提交时每次都需要输入密码和账号信息,可以将账号和密码进行持久化存储, 当git push的时候输入一次用户名和密码就会被记录, 不需要每次输入,提高效率,进行一下配置&#xff1…

2024年完整湖北等保测评机构名单看这里!

等保测评机构是指经公安部认证的具有资质的测评机构,主要从事等级测评活动。一般过等保需要找正规具有资质的等保测评机构。那你知道2024年湖北等保测评机构有哪些?名单有吗? 2024年完整湖北等保测评机构名单看这里! 1、湖北星…