数据库的多表查询(MYSQL)表表联立
根据以上三张表格,对三张表格进行不同的联立,查询并显示符合条件的内容。
1. 查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。
mysql> SELECT d.deptno AS 部门编号, d.dname as 部门名称, d.loc as 部门位置, COUNT(e.empno) as 部门人数 FROM dept d
JOIN employee e ON d.deptno = e.deptno
GROUP BY d.deptno, d.dname, d.loc;
+----------+----------+----------+----------+
| 部门编号 | 部门名称 | 部门位置 | 部门人数 |
+----------+----------+----------+----------+
| 10 | 教研部 | 北京 | 3 |
| 20 | 学工部 | 上海 | 5 |
| 30 | 销售部 | 广州 | 6 |
| 50 | 保洁部 | 武汉 | 1 |
+----------+----------+----------+----------+
4 rows in set
2. 列出所有员工的姓名及其直接上级的姓名。
mysql> SELECT e1.ename AS 员工姓名, e2.ename AS 上级姓名
FROM employee e1
LEFT JOIN employee e2 ON e1.mgr = e2.empno;
+----------+----------+
| 员工姓名 | 上级姓名 |
+----------+----------+
| 甘宁 | 庞统 |
| 黛琦丝 | 关羽 |
| 殷天正 | 关羽 |
| 刘备 | 曾阿牛 |
| 谢逊 | 关羽 |
| 关羽 | 曾阿牛 |
| 张飞 | 曾阿牛 |
| 诸葛亮 | 刘备 |
| 曾阿牛 | NULL |
| 韦一笑 | 关羽 |
| 周泰 | 诸葛亮 |
| 程普 | 关羽 |
| 庞统 | 刘备 |
| 黄盖 | 张飞 |
| 张三 | 甘宁 |
+----------+----------+
15 rows in set
3. 列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称。
mysql> SELECT e1.empno as 员工编号, e1.ename as 员工姓名, d.dname as 部门名称
FROM employee e1
JOIN employee e2 ON e1.mgr = e2.empno
JOIN dept d ON e1.deptno = d.deptno
WHERE e1.hiredate < e2.hiredate;
+----------+----------+----------+
| 员工编号 | 员工姓名 | 部门名称 |
+----------+----------+----------+
| 1007 | 张飞 | 教研部 |
| 1001 | 甘宁 | 学工部 |
| 1004 | 刘备 | 学工部 |
| 1002 | 黛琦丝 | 销售部 |
| 1003 | 殷天正 | 销售部 |
| 1006 | 关羽 | 销售部 |
+----------+----------+----------+
6 rows in set
4. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
mysql> SELECT d.dname, e.empno, e.ename
FROM dept d
LEFT JOIN employee e ON d.deptno = e.deptno;
+--------+-------+--------+
| dname | empno | ename |
+--------+-------+--------+
| 教研部 | 1007 | 张飞 |
| 教研部 | 1009 | 曾阿牛 |
| 教研部 | 1014 | 黄盖 |
| 学工部 | 1001 | 甘宁 |
| 学工部 | 1004 | 刘备 |
| 学工部 | 1008 | 诸葛亮 |
| 学工部 | 1011 | 周泰 |
| 学工部 | 1013 | 庞统 |
| 销售部 | 1002 | 黛琦丝 |
| 销售部 | 1003 | 殷天正 |
| 销售部 | 1005 | 谢逊 |
| 销售部 | 1006 | 关羽 |
| 销售部 | 1010 | 韦一笑 |
| 销售部 | 1012 | 程普 |
| 财务部 | NULL | NULL |
| 保洁部 | 1015 | 张三 |
+--------+-------+--------+
16 rows in set
5. 列出最低薪金大于15000的各种工作及从事此工作的员工人数。
mysql> SELECT job, COUNT(*) AS 员工人数
FROM employee
WHERE job IN (SELECT DISTINCT job FROM employee WHERE sal > 15000)
GROUP BY job;
+--------+----------+
| job | 员工人数 |
+--------+----------+
| 销售员 | 4 |
| 经理 | 3 |
| 分析师 | 2 |
| 董事长 | 1 |
| 保洁员 | 1 |
+--------+----------+
5 rows in set
6. 列出在销售部工作的员工的姓名,假定不知道销售部的部门编号。
mysql> SELECT ename
FROM employee
WHERE deptno = (SELECT deptno FROM dept WHERE dname = '销售部');
+--------+
| ename |
+--------+
| 黛琦丝 |
| 殷天正 |
| 谢逊 |
| 关羽 |
| 韦一笑 |
| 程普 |
+--------+
6 rows in set
7. 列出薪金高于公司平均薪金的所有员工信息,所在部门名称,上级领导,工资等级。
mysql> SELECT e.ename, e.job, e.sal, e.mgr, e2.ename AS 上级领导,d.dname
FROM employee e
JOIN dept d ON e.deptno = d.deptno
JoIN employee e2 oN e.mgr = e2 .empno
JOIN (
SELECT AVG(sal) AS average_salary
FROM employee
) AS a ON e.sal > a.average_salary;
+--------+--------+-------+------+----------+--------+
| ename | job | sal | mgr | 上级领导 | dname |
+--------+--------+-------+------+----------+--------+
| 刘备 | 经理 | 29750 | 1009 | 曾阿牛 | 学工部 |
| 关羽 | 经理 | 28500 | 1009 | 曾阿牛 | 销售部 |
| 诸葛亮 | 分析师 | 30000 | 1004 | 刘备 | 学工部 |
| 庞统 | 分析师 | 30000 | 1004 | 刘备 | 学工部 |
| 张三 | 保洁员 | 80000 | 1001 | 甘宁 | 保洁部 |
+--------+--------+-------+------+----------+--------+
5 rows in set
8.列出与庞统从事相同工作的所有员工及部门名称。
mysql> SELECT e.ename, d.dname AS 部门名称
FROM employee e
JOIN dept d ON e.deptno = d.deptno
WHERE e.job = (SELECT job FROM employee
WHERE ename = '庞统');
+--------+----------+
| ename | 部门名称 |
+--------+----------+
| 诸葛亮 | 学工部 |
| 庞统 | 学工部 |
+--------+----------+
2 rows in set
9.列出薪金高于部门30工作的所有员工的薪金的员工姓名和薪金、部门名称。
mysql> SELECT e.ename, e.sal, d.dname
FROM employee e
JOIN dept d ON e.deptno = d.deptno
WHERE e.sal > (
SELECT MAX(sal)
FROM employee
WHERE deptno = 30
);
+--------+-------+--------+
| ename | sal | dname |
+--------+-------+--------+
| 刘备 | 29750 | 学工部 |
| 诸葛亮 | 30000 | 学工部 |
| 曾阿牛 | 50000 | 教研部 |
| 庞统 | 30000 | 学工部 |
| 张三 | 80000 | 保洁部 |
+--------+-------+--------+
5 rows in set
10.查出年份、利润、年度增长比。
mysql> SELECT year,zz,
(zz - LAG(zz, 1, 0) OVER (ORDER BY year)) / LAG(zz, 1, 0) OVER (ORDER BY year) AS 年度增长比
FROM lirun;
+------+------+------------+
| year | zz | 年度增长比 |
+------+------+------------+
| 2010 | 100 | NULL |
| 2011 | 150 | 0.5000 |
| 2012 | 250 | 0.6667 |
| 2013 | 800 | 2.2000 |
| 2014 | 1000 | 0.2500 |
+------+------+------------+
5 rows in set
源码在码云Gitee:
数据库的多表查询(MYSQL)表表联立 · zyt/麦当劳投资人 - Gitee.comhttps://gitee.com/zytscode/mcdonalds-investors/blob/master/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%A4%9A%E8%A1%A8%E6%9F%A5%E8%AF%A2%EF%BC%88MYSQL%EF%BC%89%E8%A1%A8%E8%A1%A8%E8%81%94%E7%AB%8B
相关文章:

数据库的多表查询(MYSQL)表表联立
根据以上三张表格,对三张表格进行不同的联立,查询并显示符合条件的内容。 1. 查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。 mysql> SELECT d.deptno AS 部门编号, d.dname as 部门名称, d.loc as 部门位置, COUNT(e.emp…...
P8650 [蓝桥杯 2017 省 A] 正则问题(dfs )
多重括号,利用回溯来对上一层括号中的内容进行反馈 实现: 若为 x 长度加一 若为 ( 进入递归计算 (计算相当于子表达式) 若为 ) 结束当前递归 若为 | …...

【ESP32】手势识别实现笔记:红外温度阵列 | 双三次插值 | 神经网络 | TensorFlow | ESP-DL
目录 一、开发环境搭建与新建工程模板1.1、开发环境搭建与卸载1.2、新建工程目录1.3、自定义组件 二、驱动移植与应用开发2.1、I2C驱动移植与AMG8833应用开发2.2、SPI驱动移植与LCD应用开发2.3、绘制温度云图2.4、启用PSRAM(可选)2.5、画面动静和距离检测…...

No matching version found for @babel/compat-data@^7.23.5 处理
npm ERR! notarget No matching version found for babel/compat-data^7.23.5 处理 报错信息 npm WARN ERESOLVE overriding peer dependency npm ERR! code ETARGET npm ERR! notarget No matching version found for babel/compat-data^7.23.5. npm ERR! notarget In most …...

手持机|三防智能手机_4寸/5寸/6寸安卓系统三防手机PDA手持终端方案
随着科技的不断发展,三防手持机作为一种多功能设备,正逐渐在各行业得到广泛应用。这款手持机采用高性能处理器,支持高精度北斗定位和工业本安防爆功能,并具备IP67级防水防尘性能和1.5米防跌落能力。因此,它在仓储管理、…...

蓝桥杯算法心得——仙界诅咒(dfs)
大家好,我是晴天学长,搜索型的dfs,差点开二维矩阵了,仔细一想,没那么夸张啊,哈哈哈,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1…...

List集合,遍历,数据结构
一.List常见的方法: 二. List集合的遍历方式 除了 迭代器遍历 增强for遍历 Lambda表达式遍历,还有自己独有的普通for遍历,列表迭代器遍历 1.迭代器遍历 2.增强for遍历 3.Lambda表达式遍历 4.普通for遍历 5.列表迭代器遍历 列表迭代器相对于…...

2的幂运算
2的幂 描述 : 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 题目 : LeetCode 231.2的幂 : 231. 2 的幂 分…...
优先队列经典例题leetcode思路代码详解
目录 leetcode215题.数组中的第k个最大元素 leetcode347题.前k个高频元素 leetcode295题.数据流的中位数 对优先队列感兴趣的朋友可以去看我上一篇文章。 优先队列基础讲解-CSDN博客 leetcode215题.数组中的第k个最大元素 215. 数组中的第K个最大元素 - 力扣(…...
新型Python环境与依赖管理工具——pipenv
文章目录 pipenv介绍pipenv安装pipenv使用创建虚拟环境删除虚拟环境安装依赖查看包之间的依赖图卸载依赖在虚拟环境中执行命令shell环境下通过requirements.txt安装依赖导出requirements.txt文件查看虚拟环境的路径 pipenv介绍 pipenv可以看做是pip和virtualenv的组合体&#…...

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「内网穿透」
文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…...
kendo-splitter动态分配分隔框大小
通过size方法,动态改变框大小,参考链接:https://docs.telerik.com/kendo-ui/api/javascript/ui/splitter/methods/size vue画面 <kendo-button type"primary" click"changePane">button</kendo-button><…...

网站提示不安全?
随着互联网的普及和发展,网络安全问题日益严重。黑客攻击、数据泄露、恶意软件等问题层出不穷,给企业和个人带来了巨大的损失。在这个背景下,确保网站安全显得尤为重要,而使用SSL证书是解决这些问题的有效措施。 什么是SSL证书&am…...
C# 泛型编译特性对性能的影响
C#作为一种强类型语言,具有丰富的泛型支持,允许开发者编写可以应对不同数据类型的通用代码。然而,在泛型编译时,针对结构和类作为泛型参数时,会对性能产生不同的影响。 泛型编译行为 在C#中,泛型编译行为取…...

11-30 JavaWeb
修改与删除操作 防止空指针异常 localhost:8080 -> 分页查询 修改流程:(先查后改(两个servlet)) 修改: 传用户id(用户id怎么得到 -> 循环一次得到一个user 对象 user对象里用user.getId()得到用户id) UpdateUserQueryServlet.java (…...

LCR 047. 二叉树剪枝 和 leetCode 1110. 删点成林 + 递归 + 图解
给定一个二叉树 根节点 root ,树的每个节点的值要么是 0,要么是 1。请剪除该二叉树中所有节点的值为 0 的子树。节点 node 的子树为 node 本身,以及所有 node 的后代。 示例 1: 输入: [1,null,0,0,1] 输出: [1,null,0,null,1] 解释: 只有红…...
Flutter笔记:路由观察者
Flutter系列 路由观察者 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/134572181 目 录 1. 概述2. 路由…...

【驱动】串口驱动分析(三)-serial driver
简介 前两节我们介绍串口驱动的框架和tty core部分。这节我们介绍和硬件紧密相关的串口驱动部分。 UART驱动部分依赖于硬件平台,而TTY驱动和具体的平台无关。虽然UART部分依赖于平台,但是不管是哪个硬件平台,驱动的思路都是一致的ÿ…...
(C++20) constinit常量初始化
文章目录 由来constinit 常量初始化常量初始化 ! 初始化常量初始化声明静态存储对象非初始化声明thread_local END 由来 在C多文件编译中会出现一个常见的问题,叫做静态初始化顺序问题。Static Initialization Order Fiasco。 比如现在有两个文件,其中…...

python实现获取aws route53域名信息
最近由于工作原因接触到aws的服务,我需要实时获取所有的域名信息,用于对其进行扫描,因此写了一个自动化爬取脚本 给需要的人分享。 1.基础准备 代码环境:python3 第三方库:boto3 (安装方法pip install…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...