《MySQL》复合查询和连接

news2024/12/23 3:44:56

文章目录

  • 查询
    • 单行子查询
    • 多行子查询
    • 合并查询
  • 连接
    • 内连接
    • 外连接

点睛之笔:无论是多表还是单表,我们都可以认为只有一张表。

只要是表,就可以查询和连接成新表,所以select出来的结果都可以认为成一张表,既然是一张表,那就可以存在于在任何表可以存在的地方。

查询

单行子查询

select empno,ename from emp where emp.empno=(select mgr from emp where ename='FORD');

多行子查询

案例:查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人
在这里插入图片描述

  • 用(字段1,字段2)来表示有多行数据,然后在select子句进行匹配
  1. in 表示匹配在此表里的数据
# 查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的
select ename,job,sal,deptno 
from emp 
where job 
in (select distinct job from emp where deptno=10) and deptno<>10;
  1. all 表示全部
# 显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号
select ename, sal, deptno 
from EMP 
where sal > all(select sal from EMP where deptno=30);
  1. any 表示任意一个
# 显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)
select ename, sal, deptno 
from EMP 
where sal > any(select sal from EMP where deptno=30);

合并查询

select子句1 union select子句2;

效果:select子句1查询的表结果 和 select子句2查询的表结果 求并集(会去重数据)

在这里插入图片描述

select子句1 all union select子句2;

all union 和 union 的区别:没有去重数据

在这里插入图片描述

连接

内连接

select 字段 from1 inner join2 on 连接条件
# 相当于where的条件查询
eg:  # 两者效果相同
select * from table1, table2 where table1.id=table2.id;
select * from table1 inner join table2 on table1.id=table2.id;

外连接

有两张表stu,exam
在这里插入图片描述

  • 左外连接:保留左表,右表按条件显示
select 字段 from1 left join2 on 连接条件

在这里插入图片描述

  • 右外连接:保留右表,左表按条件显示
select 字段 from1 right join2 on 连接条件

在这里插入图片描述

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

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

相关文章

Python多线程使用详解

概要 多线程是一种并发编程的技术&#xff0c;通过同时执行多个线程来提高程序的性能和效率。在Python中&#xff0c;我们可以使用内置的threading模块来实现多线程编程。 一、创建线程 在使用多线程之前&#xff0c;我们首先需要了解如何创建线程。Python提供了threading模块…

你信不信,只要学几天javascript就可以使用纯原生实现五星评分效果 【附完整代码】

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

动态规划DP(七) 股票交易

1.股票交易 在股票买卖的最佳时机问题中&#xff0c;给定一个数组&#xff0c;数组中的每个元素代表某一天的股票价格。你可以进行多次买入和卖出&#xff0c;但是必须在再次购买前卖出之前的股票。目标是找到最大的利润。 动态规划可以用于解决股票交易类的问题&#xff0c;…

ssl证书和域名过期提醒平台

由于经常忘记了证书是否要过期&#xff0c;导致过期了出现一些访问上的问题 docker安装部署 当然可以接入mysql&#xff0c;默认使用的sqlite version: "3" services:domain-admin:image: mouday/domain-admin:latestcontainer_name: domain-adminvolumes:- ./data:/…

菜鸡shader:L8 UV扰动动画——火焰和简单水面

文章目录 卡通火焰代码最后效果 水面代码最后效果 这此做笔记的两个shader其实是课程的作业&#xff0c;课程主要也是讲UV扰动的概念&#xff0c;因为课程的shader在另一台电脑上&#xff0c;做笔记就暂时不带他们了&#xff0c;简单做下火焰和水面的shader。 卡通火焰 火焰这…

FreeRTOS(队列)

队列 什么是队列&#xff1f; 队列又称消息队列&#xff0c;是一种常用于任务间通信的数据结构&#xff0c;队列可以在任务与任务间、中断和任 务间传递信息。 为什么不使用全局变量&#xff1f; 如果使用全局变量&#xff0c;兔子&#xff08;任务1&#xff09;修改了变量 a …

新版studio没法筛选Log

目录 方式一 简单粗暴&#xff0c;针对怀旧者&#xff0c;可切回原版log视图 方式二 学习新的log过滤方法 升级新版本AndroidStudio后&#xff0c;log日志变成以下样子&#xff0c;发现之前过滤error,infor的tab都不见了&#xff0c;瞬间不淡定了&#xff0c;查阅资料才发现…

DAY45:动态规划(五)背包问题:01背包理论基础+二维DP解决01背包问题

文章目录 背包问题大纲01背包01背包暴力解法01背包二维DP解法二维DP数组的解法DP数组含义递推公式初始化二维DP数组&#xff08;比较重要&#xff09;遍历顺序&#xff08;比较重要&#xff09; 二维DP数组完整版思路总结返回值为什么是二维数组最后一个元素DP推导过程与数组含…

selenium 根据期刊信息获取知网文献信息 pt.1

哈喽大家好&#xff0c;我是咸鱼 之前写过一篇获取知网文献信息的文章&#xff0c;看了下后台数据还挺不错 所以咸鱼决定再写一篇知网文献信息爬取的文章 需要注意的是文章只是针对某一特定期刊的爬取&#xff0c;希望小伙伴们把关注点放在如何分析网页以及如何定位元素上面…

python实现前后端学生管理系统(前后端不分离)

⭐作者介绍&#xff1a;大二本科网络工程专业在读&#xff0c;持续学习Java&#xff0c;努力输出优质文章 ⭐作者主页&#xff1a;逐梦苍穹 ⭐所属专栏&#xff1a;项目。 目录 1、前言2、简述实现内容首页注册登录管理员 3、详细代码3.1、项目目录3.2、templates3.2.1、testxz…

赛效:如何在线转换图片格式

1&#xff1a;点击左侧菜单栏里的“格式转换”&#xff0c;然后在转换格式菜单栏里点击上传按钮。 2&#xff1a;选择下方输出格式&#xff0c;点击右下角“开始转换”。 3&#xff1a;稍等片刻转换成功后&#xff0c;点击图片右下角的“下载”&#xff0c;将转换后的图片保存到…

UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(四)ApplyHierarchy

继续解析《Electric Dreams》项目中的自定义节点和子图&#xff1a;ApplyHierarchy 文章目录 前导文章标准组合拳ApplyHierarchyExecute with ContextIteration Loop BodyPoint Loop Body应用场景 小结 前导文章 《UE5《Electric Dreams》项目PCG技术解析 之 理解Assembly&…

【Android】APT与JavaPoet学习与实战

PS&#xff1a;本文讲解的APT全称为Annotation Processing Tool&#xff0c;而非是Android Performance Tuner&#xff0c;这两种工具简称皆为APT&#xff0c;前者是“注释处理工具”&#xff0c;后者是“Android性能调试器”。 本文分别使用Java、kotlin 语言进行开发&#xf…

做一个游戏小项目有多简单?

认识一个朋友&#xff0c;学了很多年的 python, 还停留在 helloworld 阶段&#xff0c;每次拿起又放下&#xff0c;是不是很熟悉&#xff1f;每天都在想&#xff0c;我要学编程&#xff0c;我要学编程&#xff0c;但是又不知道从何学起&#xff0c;学了一点又不知道怎么用&…

java并发编程原理-----线程

目录 上下文切换 java代码创建线程的两种方式 线程的五个状态 线程join方法 多线程之间的影响 上下文切换 CPU的每一个核心同一时刻只能执行一个线程&#xff0c;但是我们会发现电脑同一时刻现实会进行几千个线程&#xff0c;这就是cpu在快速的切换执行线程&#xff0c;由…

Python中的迭代器

一、介绍 在Python中&#xff0c;迭代器是一种访问集合元素的方式&#xff0c;可以用于遍历数据集中的元素&#xff0c;而不需要事先知道集合的大小。迭代器可以被用于循环语句中&#xff0c;例如for循环&#xff0c;来遍历集合中的每个元素。 Python中的迭代器是一个实现了迭…

将Windows系统上的音频、视频通过iTunes传输到iPhone上

这个地方需要下载安装版的iTunes 下载地址&#xff1a; https://www.apple.com/itunes/download/win64 不要从Windows的APP Store中下载iTunes&#xff0c;不好使。 安装完成后&#xff0c;如果是导入一个文件夹中的资料&#xff0c;则点击 【文件】》【将文件夹添加到资料库】…

岛屿数量 (力扣) dfs + bfs (JAVA)

给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设该网格的…

在内卷化竞争时代,金龙鱼重返增长的关键到底是什么?

提到欧丽薇兰、胡姬花、香满园、海皇、金味、丰苑、锐龙洁劲100、丸庄酱油等品牌,多数消费者的第一反应是什么?多数消费者认为是某个不知名的新品牌。问题的重点不在产品&#xff0c;而在主品牌定位。 事实上&#xff0c;这都是金龙鱼母公司益海嘉里旗下的品牌。内行都知道益海…

“坏邻居”导致的kafka生产者TPS下降原因排查

背景&#xff1a; 今天测试了两种不同的场景下kafka producer的tps性能数据&#xff0c;两种场景下都是使用3个线程&#xff0c;每个线程都是对应一个kafka producer&#xff0c;测试发送到kafka集群的消息的量&#xff0c;两个场景的区别是场景A只发送kafka消息&#xff0c;场…