当前位置: 首页 > news >正文

做网站怎么入账百度推广退款电话

做网站怎么入账,百度推广退款电话,哈尔滨网站设计哪家公司好,免费网站成本MySQL 数据库操作实践:两表联查之分组成绩第几问题 在本篇博客中,我将展示MySQL 从创建表、到插入数据,并进行一些复杂的查询操作。 1. 建立表格 首先,我们创建两个表:department(部门)和 em…

MySQL 数据库操作实践:两表联查之分组成绩第几问题

在本篇博客中,我将展示MySQL 从创建表、到插入数据,并进行一些复杂的查询操作。

1. 建立表格

首先,我们创建两个表:department(部门)和 employee(员工)。

CREATE TABLE department (id INT PRIMARY KEY,name VARCHAR(50)
);CREATE TABLE employee (id INT PRIMARY KEY,name VARCHAR(50),department_id INT,salary DECIMAL(10, 2)
);

2.插入数据

接下来,让我们向这两个表中插入一些数据:

-- 部门表数据插入
INSERT INTO department (id, name) VALUES
(1, 'HR'),
(2, 'Finance');-- 员工表数据插入
INSERT INTO employee (id, name, department_id, salary) VALUES
(1, 'Amy', 1, 8000.00),
(2, 'Ben', 2, 9000.00),
(3, 'Charlie', 1, 8500.00),
(4, 'Diana', 2, 8200.00),
(5, 'Eric', 1, 8300.00),
(6, 'Fiona', 2, 8700.00);

3.查询问题

问题1:查询每个部门中工资最高的员工姓名及其工资

SELECT d.name AS department_name, e.name AS employee_name, e.salary AS max_salary
FROM department d
JOIN employee e ON d.id = e.department_id
WHERE (e.department_id, e.salary) IN (SELECT department_id, MAX(salary) FROM employee GROUP BY department_id);

SQL解释:
子查询:(SELECT department_id, MAX(salary) FROM employee GROUP BY department_id)
这个子查询用于找出每个部门中工资最高的员工的工资。

主查询中的关联和过滤条件:SELECT d.name AS department_name, e.name AS employee_name, e.salary AS max_salary
通过将主查询中员工所在部门和工资与子查询的结果进行比对,找到符合条件的员工,并返回他们的部门名称、姓名和最高工资。

这样的查询结构使我们能够有效地找到每个部门中工资最高的员工,并展示他们的相关信息。
问题2:查询每个部门中工资排名第2高的员工姓名及其工资

SELECT d.name AS department_name, e.name AS employee_name, e.salary AS second_highest_salary
FROM department d
JOIN employee e ON d.id = e.department_id
WHERE (e.department_id, e.salary) IN (SELECT department_id, MAX(salary) FROM employee WHERE salary < (SELECT MAX(salary) FROM employee e2 WHERE e.department_id = e2.department_id) GROUP BY department_id);

SQL解释:
子查询1:SELECT MAX(salary) FROM employee e2 WHERE e.department_id = e2.department_id

这个子查询用于找出每个部门中工资最高的员工的工资。

子查询2:SELECT department_id, MAX(salary) FROM employee WHERE salary < (Subquery1) GROUP BY department_id
这个子查询根据第一个子查询的结果,找出每个部门中工资排名第二高的员工的工资。它首先去除了最高工资,然后再取出次高的工资。

主查询中过滤条件:WHERE (e.department_id, e.salary) IN (Subquery2)
通过将主查询中员工所在部门和工资与第二个子查询的结果进行比对,找到符合条件的员工,并返回他们的部门名称、姓名和次高工资。
这样的嵌套查询结构使得我们能够在不引入额外的复杂逻辑的情况下,完成对每个部门中工资排名第二高的员工的查询。
问题3:查询每个部门中工资排名第3高的员工姓名及其工资

SELECT d.name AS department_name, e.name AS employee_name, e.salary AS third_highest_salary
FROM department d
JOIN employee e ON d.id = e.department_id
WHERE (e.department_id, e.salary) IN (SELECT department_id, MAX(salary) FROM employee WHERE salary < (SELECT MAX(salary) FROM employee e2 WHERE e.department_id = e2.department_id) AND salary NOT IN (SELECT MAX(salary) FROM employee e3 WHERE e.department_id = e3.department_id) GROUP BY department_id);

SQL解释及修改说明:
子查询2修改:
在原来的第二个子查询中,增加了一个 AND salary NOT IN 条件,以排除掉最高和次高的工资,从而获取到第三高的工资。

主查询中过滤条件:
通过将主查询中员工所在部门和工资与修改后的第二个子查询的结果进行比对,找到符合条件的员工,并返回他们的部门名称、姓名和第三高工资。

这样修改后的查询语句应该能够准确地查询出每个部门中工资排名第3高的员工姓名及其工资。

问题4:查询每个部门中工资排名第4高的员工姓名及其工资

SELECT d.name AS department_name, e.name AS employee_name, e.salary AS fourth_highest_salary
FROM department d
JOIN employee e ON d.id = e.department_id
WHERE (e.department_id, e.salary) IN (SELECT department_id, MAX(salary) FROM employee WHERE salary < (SELECT MAX(salary) FROM employee e2 WHERE e.department_id = e2.department_id) AND salary NOT IN (SELECT MAX(salary) FROM employee e3 WHERE e.department_id = e3.department_id) AND salary NOT IN (SELECT MAX(salary) FROM employee e4 WHERE e.department_id = e4.department_id) GROUP BY department_id);

SQL解释及修改说明:
子查询2修改:
在原来的第二个子查询中,增加了一个 AND salary NOT IN 条件,以排除掉最高、次高和第三高的工资,从而获取到第四高的工资。

相信通过以上步骤,你已经感受到了类似题目中的规律,希望对你有所帮助!

http://www.tj-hxxt.cn/news/84555.html

相关文章:

  • 一个人做两个博客网站江苏搜索引擎优化公司
  • 找人做网站深圳seo关键词优化外包公司
  • 宜城网站建设深圳网络营销推广服务
  • seo公司排行seo排名赚挂机
  • 徐汇科技网站建设蜜雪冰城网络营销案例分析
  • 网站建设合同 下载福州网站建设
  • 网络服务商怎么查询东莞seo网站排名优化
  • 28网站制作seo网络营销推广
  • 永嘉网站制作系统seo优化范畴
  • 东西湖区网站建设公司今日国内新闻头条
  • 网络销售怎么做网站旺道seo营销软件
  • 成都公司网站开发交换友情链接的意义是什么
  • 衢州体育中心设计理念小红书关键词排名优化
  • mvc做的游戏网站关键词排名推广
  • 深圳品牌网站制作报价爱站网关键词密度
  • 聊城做网站厉害的公司杭州关键词优化平台
  • 佛山论坛建站模板福州seo推广外包
  • 北京网站建设及优化站长之家ppt模板
  • 郑州 网站建设有限公司沈阳seo排名收费
  • 网站建设与网页设计专业的seo快速排名外包
  • 影楼行业网站网站的优化从哪里进行
  • 个体工商户注册流程班级优化大师官网登录
  • 怎么用源码做网站cps广告联盟网站
  • 网易官网入口网站怎么seo关键词排名优化推广
  • 辽宁购物网站制作舆情分析报告模板
  • 东莞市手机网站建设公司市场策划方案
  • 买高端品牌网站建设qq引流推广软件哪个好
  • 宝安网站制作网站建设游戏推广员拉人技巧
  • 网站开发主要都做些什么站长工具查询域名
  • 微信上建微网站要钱吗网络营销公司经营范围