公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

數據工程師面試中最常問的復雜SQL查詢

admin
2023年11月16日 23:2 本文熱度 606

一、示例數據表

1.1 假設我們有一張示例數據表“employees”,包含以下列:

  • id:每個員工的唯一標識符

  • name:員工姓名

  • gender:員工性別

  • salary:員工工資

  • department:員工所在部門

1.2 下面是創建employees表并插入樣本數據的MySQL腳本:

create TABLE employees(    id         INT AUTO_INCREMENT PRIMARY KEY,    name       VARCHAR(50) NOT NULL,    gender     VARCHAR(10) NOT NULL,    salary     INT         NOT NULL,    department VARCHAR(50) NOT NULL);
insert INTO employees (name, gender, salary, department)VALUES ('Ramesh Gupta', 'Male', 55000, 'Sales'),       ('Priya Sharma', 'Female', 65000, 'Marketing'),       ('Sanjay Singh', 'Male', 75000, 'Sales'),       ('Anjali Verma', 'Female', 45000, 'Finance'),       ('Rajesh Sharma', 'Male', 80000, 'Marketing'),       ('Smita Patel', 'Female', 60000, 'HR'),       ('Vikram Yadav', 'Male', 90000, 'Sales'),       ('Neha Sharma', 'Female', 55000, 'Marketing'),       ('Rahul Singh', 'Male', 70000, 'Finance'),       ('Sonali Gupta', 'Female', 50000, 'Sales');

Employees 表

二、查詢

2.1 查詢每個部門中男女職工的平均薪水

實現方案

select department, gender, AVG(salary) AS avg_salary
from employees
GROUP BY department, gender;

輸出

2.2 查詢每個部門中薪水最高的員工姓名及薪水

實現方案

select name, salary
from employees
where (department, salary) IN (select department, MAX(salary)
from employees
GROUP BY department);

輸出:

2.3 查詢每個部門中比所在部門平均薪水高的員工信息

實現方案

select name, salary, department
from employeeswhere salary > (select AVG(salary)
                from employees AS e2
                where e2.department = employees.department);

輸出:

2.4 查詢每個部門中薪水前三名的員工信息

實現方案

select e.department, e.name, e.salary
from employees e
where (select COUNT(*)
       from employees
       where department = e.department
         AND salary > e.salary) < 3;

輸出:

2.5 查詢每個部門中比所在部門平均薪水高的員工姓名(該問題與第三個問題一樣,只不過這里使用連接實現)

實現方案

select e.namefrom employees e
         JOIN (select department, AVG(salary) AS avg_salary
               from employees
               GROUP BY department) AS dept_avg
              ON e.department = dept_avg.department
where e.salary > dept_avg.avg_salary;

輸出:

2.6 查詢每個部門中最高薪水的員工信息

實現方案

WITH max_salary AS (select department, MAX(salary) AS highest_salary
                    from employees
                    GROUP BY department)
select m.department, e.name, e.salaryfrom employees e
         JOIN max_salary m
              ON e.department = m.department AND e.salary = m.highest_salary;


輸出

該實現需要MySQL 8.0及以上版本才可運行,因為WITH...AS...子句只有8.0及以上版本才支持。


該文章在 2023/11/16 23:02:23 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产一区精品 | 精品无码国产一区二区三区在线看 | 国产精品午夜福利天堂 | 69成品人视频免费看手机最新 | 国产成人综合日韩精品无码不卡 | 18国产精品白浆在线观看免 | 国产精品无码无在线观看 | 国产97最新在线视频 | 91精产国品一二三产区粉粉 | 国产成人综合亚洲av网站 | 国产超薄丝袜脚交视 | jk制服美女高潮中出视频 | a级毛片无码免费真人久久 a级毛片无码兔费真人久久 | 国产爆乳美女呻吟娇喘在线播放 | 精品久久免费一区二区三区四区 | 国产欧美日产高清欧美一区二区 | 国产亚洲制服无码中文 | 国产成人免费观看 | 成人av手机在线观看 | av一区二区三区传媒 | 国产成人亚洲精品无码电影 | 国产三级片久久久久久水户香奈 | 国产成人免费高潮激情视频 | 精品无人区一码二码三码四码 | 国产精品国产三级国v麻豆 国产精品国产三级国产aⅴ | 国产欧美另类在线专区 | 精品性影院一区二区三区内射 | 99久久精品| 91精品国产福利在线导航 | 精品亚洲一区二区三区四区五区 | 91高清国产经典在线观看 | 韩国三级激情片在线观看 | 国精产品一区二区三区公司 | 国产在线自在拍91精品 | 国产不收费b站软件 | 国精视频一区二区视频 | 国产精品熟女 | 国产尤物精品无码成人 | 成人免费av片在线观看 | 国产成人av一区二区三区在 | 国产成人精品无码片区在线观看 |