数据库练习(二)

news2024/11/27 12:50:58

建表

2915d0f6c05d4a4e843df799c7337824.png

create table employee(
 empno     int  primary key auto_increment ,     
 ename     char(10) ,  
 job       char(6)  ,  
 mgr       int      ,  
 hiredate  date     ,  
 sal       float(10,2),
 comm      float(10,2),
 deptno    int    );    

insert into employee(empno,ename,job,mgr,hiredate,sal,comm,deptno) values
('1001','甘宁','文员','1013','2000-12-17','8000.00',NULL,'20'),
('1002','黛绮丝','销售员','1006','2001-02-20','16000.00','3000.00','30'),
('1003','殷天正','销售员','1006','2001-02-22','12500.00','5000.00','30'),
('1004','刘备','经理','1009','2001-04-02','29750.00',NULL,'20'),
('1005','谢逊','销售员','1006','2001-09-28','12500.00','14000.00','30'),
('1006','关羽','经理','1009','2001-05-01','28500.00',NULL,'30'),
('1007','张飞','经理','1009','2001-09-01','24500.00',NULL,'10'),
('1008','诸葛亮','分析师','1004','2007-04-19','30000.00',NULL,'20'),
('1009','曾阿牛','董事长',NULL,'2001-11-17','50000.00',NULL,'10'),
('1010','韦一笑','销售员','1006','2001-09-08','15000.00','0.00','30'),
('1011','周泰','文员','1008','2007-05-23','11000.00',NULL,'20'),
('1012','程普','文员','1006','2001-12-03','9500.00',NULL,'30'),
('1013','庞统','分析师','1004','2001-12-03','30000.00',NULL,'20'),
('1014','黄盖','文员','1007','2002-01-23','13000.00',NULL,'10');

d9d3ba4775ec44e38db9e127f2ca35f6.png

mysql> create table department(
    -> deptno int(5) primary key,
    -> dname char(10),
    -> loc char(10));

insert into department(deptno,dname,loc)  values
('10','教研部','北京'),
('20','学工部','上海'),
('30','销售部','广州'),
('40','财务部','武汉');

ae6909a451b04b9d8a34da94cde2c09a.png

mysql> create table salarygrade(
    -> grade int(5) primary key auto_increment,
    -> losal float(10,2),
    -> hisal float(10,2));
Query OK, 0 rows affected, 3 warnings (0.00 sec)

insert into salarygrade(losal,hisal) values
('7000.00','12000.00'),
('12012.00','14000.00'),
('14010.00','20000.00'),
('20010.00','30000.00'),
('30010.00','99990.00');

e7418e8b8d104b71b6fd5fea8d2272e2.png

mysql> create table annualprofit(
    -> year year(4) primary key,
    -> zz float(10,2));

insert into annualprofit(year,zz) values
('2010','100.00'),
('2011','150.00'),
('2012','250.00'),
('2013','800.00'),
('2014','1000.00');

1.查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。

select e.deptno,d.dname,d.loc,count(*) as 部门人数 from employee as e,department as d where d.deptno=e.deptno group by e.deptno having count(e.deptno) >=1;

2.列出所有员工的姓名及其直接上级的姓名

SELECT e1.ename AS employee_name, e2.ename AS manager_name FROM employee e1 LEFT JOIN employee e2 ON e1.mgr = e2.empno;

子查询

3.列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称。

 SELECT   
     e1.empno,   
     e1.ename,   
     d.dname  
 FROM   
     employee e1  
 JOIN   
     employee e2 ON e1.mgr = e2.empno  
 JOIN   
     department d ON e1.deptno = d.deptno  
WHERE   
     e1.hiredate < e2.hiredate;

4.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。

select d.dname,e.* from  employee e RIGHT OUTER JOIN department d on d.deptno = e.deptno;

3d9a48eb57174f71a6e82093da3adb5c.png

5.列出最低薪金大于15000的各种工作及从事此工作的员工人数。

select job,count(*) as 人数 from employee where sal > 15000 or sal+comm > 15000 group by job;

4c0171e291174f02a5d489932a96c5ca.png

6.列出在销售部工作的员工的姓名,假定不知道销售部的部门编号。

 SELECT   
     e.ename  
 FROM   
     employee e  
JOIN   
     department d ON e.deptno = d.deptno  
 WHERE   
     d.dname = '销售部';b3fd627c82674d05b03b530b665ea2ab.png

7.列出薪金高于公司平均薪金的所有员工信息,所在部门名称,上级领导,工资等级。

SELECT   
     e.empno,   
     e.ename,   
    d.dname,   
     e.mgr,   
     e.sal,   
     sg.grade  
FROM   
     employee e  
 JOIN   
     department d ON e.deptno = d.deptno  
LEFT JOIN   
     salarygrade sg ON e.sal BETWEEN sg.losal AND sg.hisal  
WHERE   
     e.sal > (SELECT avg(sal)+sum(comm)/14 FROM employee)  
 ORDER BY   
    e.empno;

8.列出与庞统从事相同工作的所有员工及部门名称。

 

select e.ename,d.dname from employee e inner join department d on e.deptno = d.deptno where e.job = (select job from employee where ename = "庞统" ) ;

9.列出薪金高于在部门30工作的所有员工的薪金,的员工姓名和薪金、部门名称。

select e.ename,e.sal,d.dname from employee e inner join department d

on e.deptno = d.deptno where sal >

(select max(sal+comm) from  employee where deptno = 30);

10.查出年份、利润、年度增长比.

SELECT current_year.year, current_year.zz,

CASE WHEN previous_year.zz = 0 THEN NULL

ELSE CONCAT(ROUND(( (current_year.zz - previous_year.zz) / previous_year.zz )*100 ,2 ),'%')

END AS growth_rate

FROM

         annualprofit current_year

LEFT JOIN

        annualprofit previous_year ON current_year.year = previous_year.year + 1

ORDER BY current_year.year;

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

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

相关文章

【简单介绍下单片机】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

元类的执行

class MetaB(type):def __new__(cls, name, bases, attrs):print(f"使用元类 {cls.__name__} 创建{name}类 ")return super().__new__(cls, name, bases, attrs)class A(metaclassMetaB):passclass C(A):pass元类MetaB的__new__方法应该只会在创建类A时被调用一次, 因…

集成电路测试学习

集成电路&#xff08;Integrated Circuit&#xff0c;IC&#xff09;整个设计流程包括&#xff1a;电路设计、晶圆制造、晶圆测试、IC封装、封装后测试。 IC测试目的&#xff1a;一、确认芯片是否满足产品手册上定义的规范&#xff1b;二、通过测试测量&#xff0c;确认芯片可以…

Python爬虫:requests模块的基本使用

学习目标&#xff1a; 了解 requests模块的介绍掌握 requests的基本使用掌握 response常见的属性掌握 requests.text和content的区别掌握 解决网页的解码问题掌握 requests模块发送带headers的请求掌握 requests模块发送带参数的get请求 1 为什么要重点学习requests模块&…

Unity架构师进阶:红点系统的架构与设计

面试的时候经常被问道如何来设计一个红点系统,本文将详细地介绍如何设计一个红点系统&#xff0c;有哪些接口&#xff0c;并完整地给出实现。 红点系统的需求分析 首先我们来分析一下红点系统的设计需求: 红点系统严格意义上来说不属于框架&#xff0c;而是游戏逻辑&#xff0…

DOS时代经典软件,落下帷幕,国产中文编程,蓬勃发展

互联网的变迁好像翻涌的波涛&#xff0c;有些我们以为已经忘掉的软件&#xff0c;其实还留在我们心里&#xff0c;特别是那些经历过从DOS系统换到Windows系统的人&#xff0c;这种感觉更加明显。 说起DOS软件&#xff0c;它是很多80后年轻时的美好记忆。虽然现在它已经成为了过…

Python数学建模学习-PageRank算法

1-基本概念 PageRank算法是由Google创始人Larry Page在斯坦福大学时提出&#xff0c;又称PR&#xff0c;佩奇排名。主要针对网页进行排名&#xff0c;计算网站的重要性&#xff0c;优化搜索引擎的搜索结果。PR值是表示其重要性的因子。 中心思想&#xff1a; 数量假设&#…

【DA-CLIP】图像退化类型检测功能演示代码

背景 在CLIP基础上微调而来&#xff0c;使用图像控制器编码生成退化类型embedding并在训练中对图像编码器进行控制。针对十种退化类型进行了训练。 解决CLIP模型在图像纹理等层面无法针对退化类型识别或识别率较低的问题。 训练数据集情况 GitHub有对应数据集连接 完整代码 项…

【智能算法】鸭群算法(DSA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年&#xff0c;Zhang等人受到自然界鸭群觅食行为启发&#xff0c;提出了鸭群算法&#xff08;Duck Swarm Algorithm, DSA&#xff09;。 2.算法原理 2.1算法思想 DSA基于自然界鸭群觅食过程&…

JRT多服务器同步程序

之前的JRT只部署在一个服务器&#xff0c;实际运用可能会有数台、数十台、或者更多服务器。那么多台服务器就需要程序同步机制。这里借助Rsync同步&#xff0c;但是有个问题是Rsync同步jar之后他不知道是否需要重启站点&#xff0c;为此实现java控制台驱动Rsync&#xff0c;重定…

滤波器笔记(杂乱)

线性相位是时间平移&#xff0c;相位不失真 零、基础知识 1、用相量表示正弦量 https://zhuanlan.zhihu.com/p/345546880 https://www.zhihu.com/question/347763932/answer/1103938667 A s i n ( ω t θ ) ⇔ A e j θ ⇔ A ∠ θ Asin(\omega t\theta) {\Leftrightarrow…

【题解】AB5 点击消除(C++)

把string当栈用&#xff0c;扫一遍就可以了&#xff0c;时间复杂度O(n) #include <iostream> #include <string> using namespace std;int main() {string s;cin >> s;int n s.size();string st;for (int i 0; i < n; i) {if (st.empty() || st.back()…

【数据结构】遍历二叉树(递归和非递归遍历的先序、中序和后序遍历、层次遍历法)

目录 【数据结构】遍历二叉树&#xff08;递归和非递归遍历的先序、中序和后序遍历、层次遍历法&#xff09;一、递归算法先&#xff08;根&#xff09;序的遍历算法中&#xff08;根&#xff09;序的遍历算法后&#xff08;根&#xff09;序的遍历算法 二、非递归算法层次遍历…

代码随想录算法训练营第四十二天| 二维背包、一维背包、LeetCode 416.分割等和子集

一、二维背包 文章讲解/视频讲解&#xff1a;https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E8%83%8C%E5%8C%85-1.html 状态&#xff1a;已解决 1.背包问题介绍 背包问题实则是一类问题的集合&#xff0c;有好多不同小类型&#xff0c…

Linux_iptables防火墙学习笔记

文章目录 iptables 概述四表五链iptables 安装启动iptables 配置详解iptables配置文件iptables配置语法iptables常用实例查看规则修改默认规则保存和备份规则恢复备份的规则清空规则放行SSH服务在ubuntu14.04中iptables规则持久化 iptables 概述 主机型 对主机进行保护 网络型…

Element-Ui的Form表单:Label文本两端对齐,且必填项的*不影响布局

1. HTML 结构 首先&#xff0c;确保你的 HTML 或 Vue 模板中有一个 el-form 组件&#xff0c;类似下面这样&#xff1a; <div id"app"><el-form :model"form" label-width"100px"><el-form-item label"用户名">&l…

Linux系统(centos,redhat,龙芯,麒麟等)忘记密码,怎么重置密码

Linux系统&#xff08;centos,redhat,龙芯&#xff0c;麒麟等&#xff09;忘记密码&#xff0c;怎么重置密码&#xff0c;怎么设置新的密码 今天在操作服务器时&#xff0c;DBA忘记了人大金仓数据库的kingbase密码&#xff0c;他的密码试了好多遍&#xff0c;都不行。最后只能…

JCVI-筛选blast最佳结果(生物信息学工具-015)

通常&#xff0c;大家会问我们经过了NR注释&#xff0c;SwissProt注释&#xff0c;那么如何进行&#xff0c;如何挑选最佳比对结果&#xff1f; 同理&#xff0c;存在一个问题&#xff0c;如何挑选最佳的blast比对结果&#xff1f;什么事最优的同源序列&#xff1f; 唐海宝老…

jenkins构建微信小程序并展示二维码

测试小程序的过程中&#xff0c;很多都是在回头和前端开发说一句&#xff0c;兄弟帮我打一个测试版本的测试码&#xff0c;开发有时间的情况下还好&#xff0c;就直接协助了&#xff0c;但是很多时候他们只修复了其中几个bug&#xff0c;其他需要修复的bug代码正在编写&#xf…

ENSP-旁挂式AC

提醒&#xff1a;如果AC不能成功上线AP&#xff0c;一般问题不会出在AC上&#xff0c;优先关注AC-AP线路上的二层或三层组网的三层交换机 拓扑图 管理VLAN&#xff1a;99 | 业务VLAN&#xff1a;100 注意点&#xff1a; 1.连接AP的接口需要打上pvid为管理vlan的标签 2.AC和…