Mysql数据库两表连接进行各种操作

一,创建两个表emp和dept,并给它们插入数据

1.创建表emp

create table dept (dept1 int ,dept_name varchar(11)) charset=utf8;

2.创建表dept
 create table emp (sid int ,name varchar(11),age int,worktime_start date,incoming int,dept2 int) charset=utf8;
3.为dept表输入数据

insert into dept values
    (101,'财务'),
    (102,'销售'),
    (103,'IT技术'),
    (104,'行政');

4.为emp表输入数据

insert into emp values
   (1789,'张三',35,'1980/1/1',4000,101),
    (1674,'李四',32,'1983/4/1',3500,101),
    (1776,'王五',24,'1990/7/1',2000,101),
    (1568,'赵六',57,'1970/10/11',7500,102),
    (1564,'荣七',64,'1963/10/11',8500,102),
    (1879,'牛八',55,'1971/10/20',7300,103),
    (1668, '钱九', 64, '1963/5/4', 8000, 102),
    (1724, '武十', 22, '2023/5/8', 1500, 103),
    (1770, '孙二', 65, '1986/8/12', 9500, 101),
    (18400, '苟一', 65, '1986/8/12', 1500, 101);

二.连接查询操作

1.找出销售部门中年纪最大的员工的姓名

select e.name from emp e
    join dept d
    on e.dept2=d.dept1
    order by e.age desc
    limit 1;

2.求财务部门最低工资的员工姓名

select e.name from emp e
     join dept d on e.dept2=d.dept1
    where d.dept_name='财务'
    order by e.incoming ASC
    limit 1;

3.列出每个部门收入总和高于9000的部门名称

 SELECT d.dept_name, SUM(e.incoming) AS total_income
    FROM dept d
    JOIN emp e ON d.dept1 = e.dept2
    GROUP BY d.dept_name
    HAVING total_income > 9000;

4.求工资在7500到8500元之间,年龄最大的人的姓名及部门

SELECT e.name, d.dept_name FROM emp e
    JOIN dept d ON e.dept2 = d.dept1
    WHERE e.incoming BETWEEN 7500 AND 8500
    ORDER BY e.age DESC
    LIMIT 1;

 5.找出销售部门收入最低的员工入职时间

 SELECT e.worktime_start
    FROM emp e
    JOIN dept d ON e.dept2 = d.dept1
    WHERE d.dept_name = '销售'
    ORDER BY e.incoming ASC
    LIMIT 1;

 6.财务部门收入超过2000元的员工姓名

SELECT e.name
    FROM emp e
    JOIN dept d ON e.dept2 = d.dept1
    WHERE d.dept_name = '财务' AND e.incoming > 2000;

7.列出每个部门的平均收入及部门名称

 SELECT d.dept_name, AVG(e.incoming) AS average_income
    FROM dept d
    JOIN emp e ON d.dept1 = e.dept2
    GROUP BY d.dept_name;

8.IT技术部入职员工的员工号

select e.sid from emp e
    join dept d on e.dept2=d.dept1
    where d.dept_name='IT技术';

9.财务部门的收入总和;

select  sum(e.incoming)
    from emp e
    join dept d on e.dept2=d.dept1
    where d.dept_name='财务';

10.找出哪个部门还没有员工入职;

SELECT d.dept_name FROM dept d LEFT JOIN emp e ON d.dept1 = e.dept2 WHERE e.sid IS NULL;

  11.列出部门员工收入大于7000的部门编号,部门名称;

select d.dept1,d.dept_name from dept d
    -> join emp e on d.dept1=e.dept2
    -> where e.incoming>7000;

 12.列出每一个部门的员工总收入及部门名称;

SELECT d.dept_name, SUM(e.incoming) AS total_income

FROM dept d

JOIN emp e ON d.dept1 = e.dept2

GROUP BY d.dept_name;

  13.列出每一个部门中年纪最大的员工姓名,部门名称;

SELECT e.name, d.dept_name FROM emp e INNER JOIN dept d ON e.dept2 = d.dept1 WHERE (e.dept2, e.age) IN (SELECT dept2, MAX(age) FROM emp GROUP BY dept2);
 

 14.求李四的收入及部门名称

SELECT e.incoming, d.dept_name FROM emp e INNER JOIN dept d ON e.dept2 = d.dept1 WHERE e.name = '李四';
 

15.列出每个部门中收入最高的员工姓名,部门名称,收入,并按照收入降序

SELECT e.name, d.dept_name, e.incoming FROM emp e INNER JOIN dept d ON e.dept2 = d.dept1 WHERE (e.dept2, e.incoming) IN (SELECT dept2, MAX(incoming) FROM emp GROUP BY dept2) ORDER BY e.incoming DESC;



    

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

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

相关文章

音视频开发—FFmpeg处理流数据的基本概念详解

文章目录 多媒体文件的基本概念相关重要的结构体操作数据流的基本步骤1.解复用(Demuxing)2.获取流(Stream)3. 读取数据包(Packet)4. 释放资源(Free Resources)完整示例 多媒体文件的…

如何写出一篇高质量的新闻稿,纯干货

对于企业宣传来说,新闻稿的发布是常用的一种宣传推广的营销方式,新闻稿可以让消费者及时了解企业的最新发展动态,增加企业品牌的曝光度。 一篇高质量新闻稿不仅能作为品牌背书,还很可能会被各大媒体转载,短时间内提高企…

分类模型的算法性能评价

一、概述 分类模型是机器学习中一种最常见的问题模型,在许多问题场景中有着广泛的运用,是模式识别问题中一种主要的实现手段。分类问题概况起来就是,对一堆高度抽象了的样本,由经验标定了每个样本所属的实际类别,由特定…

【基于R语言群体遗传学】-11-二倍体适应性进化

之前的博客,我们讨论了正选择在单倍体中的情况,可以先学习之前的博客: 群体遗传学_tRNA做科研的博客-CSDN博客 分子适应的经典观点是正选择。对于一个新的突变在进化意义上起作用,它必须在罕见时通过选择增加。之前例子中有选择系…

【深度学习基础】环境搭建 linux系统下安装pytorch

目录 一、anaconda 安装二、创建pytorch1. 创建pytorch环境:2. 激活环境3. 下载安装pytorch包4. 检查是否安装成功 一、anaconda 安装 具体的安装说明可以参考我的另外一篇文章【环境搭建】Linux报错bash: conda: command not found… 二、创建pytorch 1. 创建py…

园区、社区、乡村的智能管理

智慧园区、社区、乡村管理系统是现代信息技术在城市化进程中的重要应用,它们通过集成多种技术手段,实现对园区、社区、乡村的全面、高效、智能化管理。以下是对这三种管理系统的详细阐述: 一、智慧园区管理系统 1. 定义与目的 智慧园区管理系统是运用物联网、云计算、大数…

深入解析【C++ list 容器】:高效数据管理的秘密武器

目录 1. list 的介绍及使用 1.1 list 的介绍 知识点: 小李的理解: 1.2 list 的使用 1.2.1 list 的构造 知识点: 小李的理解: 代码示例: 1.2.2 list 迭代器的使用 知识点: 小李的理解&#xff1…

来自工业界的开源知识库 RAG 项目最全细节对比

背景介绍 之前详细整理过来自工业界的不少开源 RAG 项目: 有道 QAnythingRAGFlowlangchain-chatchat中科院 GoMateDifyFastGPT 群里一直看到有小伙伴询问在实际的业务需求中如何选择合适的 RAG 项目,本文就详细对比一下这些 RAG 项目。考虑到目前实际…

SouthMap:地理信息系统的戏剧性变革

在这喧嚣的城市中,工程师们的生活总是充满了戏剧性的起伏与跌宕。作为一名长期使用SouthMap的地理信息系统(GIS)工程师,我深知每一个项目背后所蕴含的心血与汗水。今天,我想与大家分享一款令我感触颇深的软件——South…

关于Python的类的一些理解

才发现python的类对象只能调用类方法 我想使用对类对象a使用系统调用的len方法就会报错 2.类对象a是什么? 答:是所有的带有self的成员变量 举例说明:红色的就是a里面的东西 class A:def __init__(self,data):self.datadataself.b1self.d{a…

tableau树形图制作 - 7

树形图制作 1. 树状图绘制-11.1 选择属性1.2 智能选择树状图1.3 颜色设置 2. 树状图绘制-22.1 标签属性选择2.2 树状图绘制2.3 颜色设置2.4 设置标签2.5 设置筛选器 3. 树状图绘制 - 33.1 选择行列3.2 树状图转换3.3 统计转换3.4 颜色设置3.5 标签设置3.6 筛选器设置 1. 树状图…

值得收藏!推荐10个好用的数据血缘工具【送书活动】

目录 前言01 Apache AtlasApache Atlas核心功能优缺点分析适用场景 02 Datahub核心功能优缺点分析适用场景 03 Gudu SQLFlow核心功能优缺点分析 04 FineBI适用场景 05 亿信华辰智能数据治理平台核心功能 06 飞算SoData数据机器人八大特性 07 Informatica的数据平台主要特点 08 …

Studying-代码随想录训练营day33| 动态规划理论基础、509.斐波那契函数、70.爬楼梯、746.使用最小花费爬楼梯

第33天,动态规划开始,新的算法💪(ง •_•)ง,编程语言:C 目录 动态规划理论基础 动态规划的解题步骤 动态规划包含的问题 动态规划如何debug 509.斐波那契函数 70.爬楼梯 746.使用最小花费爬楼梯 总结 动态…

文华财经红绿多空趋势量化买卖点指标公式源码

LC:REF(CLOSE,1); RSI1:SMA(MAX(CLOSE-LC,0),13,1)/SMA(ABS(CLOSE-LC),13,1)*100; RSIF:90-RSI1,COLOR33DD33; A4:((C-LLV(L,33))/(HHV(H,33)-LLV(L,33)))*67; ABC22:LLV(LOW,10); ABC33:HHV(HIGH,25); 动力线:EMA((CLOSE-ABC22)/(ABC33-ABC22)*4,4); RSV:(C-LLV(L,9))/…

前端入门知识分享:如何在HTML或CSS文件中引用CSS文件。

阅读提示:本文仅仅仅适用于刚刚接触HTML和CSS的小白从业者,新人爱好者。自觉身份不符的老鸟们,尽快绕行吧! 什么是CSS?什么是CSS文件。 CSS,全称为Cascading Style Sheets(层叠样式表&#xff…

淮北在选择SCADA系统时,哪些因素会影响其稳定性?

关键字:LP-SCADA系统, 传感器可视化, 设备可视化, 独立SPC系统, 智能仪表系统,SPC可视化,独立SPC系统 在选择SCADA系统时,稳定性是一个关键因素,因为它直接影响到生产过程的连续性和安全性。以下是一些影响SCADA系统稳定性的因素: 硬件质量…

2024机器遗忘(Machine Unlearning)技术分类-思维导图

1 介绍 机器遗忘(Machine Unlearning)是指从机器学习模型中安全地移除或"遗忘"特定的数据点或信息。这个概念源于数据隐私保护的需求,尤其是在欧盟通用数据保护条例(GDPR)等法规中提出的"被遗忘的权利…

1、课程导学(react+区块链实战)

1、课程导学(react区块链实战) 1,课程概述(1)课程安排(2)学习前提(3)讲授方式(4)课程收获 2,ibloackchain(1)安…

前端Debugger时复制的JS对象字符转JSON对象

前端debugger时,复制的对象在控制台输出时是如下格式,需要转换为对象格式来进行验证操作 bridgeId : 4118 createBy : null createTime : "2023-03-24 10:35:26" createUserId : 1 具体实现代码: // 转换transform (text) {l…