MySQL基礎20題(續前面的20題)

来源:https://www.cnblogs.com/cjybigdatablog/p/18334913
-Advertisement-
Play Games

寫在前面 今天繼續前面的20題之後的練習,數據都是一樣的,可以直接使用,來看看你的sql功底降了沒。 基礎20題 #1.查詢每個員⼯的姓名、郵箱、職位名稱以及所在部⻔名稱。 SELECT CONCAT(last_name,first_name) as 姓名, email, job_title, de ...


寫在前面

今天繼續前面的20題之後的練習,數據都是一樣的,可以直接使用,來看看你的sql功底降了沒。

基礎20題

#1.查詢每個員⼯的姓名、郵箱、職位名稱以及所在部⻔名稱。
	SELECT
	CONCAT(last_name,first_name) as 姓名,
	email,
	job_title,
	department_name
FROM
	employees e 
	JOIN departments d ON e.department_id=d.department_id
	JOIN jobs j ON e.job_id = j.job_id ;

#2.查詢⽉薪最⾼的員⼯的姓名、職位名稱以及⽉薪。
	SELECT
	CONCAT(last_name,first_name) as 姓名,
	job_title,
	salary
FROM
	employees e 
JOIN jobs j on e.job_id = j.job_id
WHERE	salary = (SELECT MAX(salary) FROM employees);

#3.查詢每個部⻔的平均⽉薪。
#註:如果某一部門沒有員工不會顯示
	SELECT
	department_name,
	AVG(salary)
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id
GROUP BY
	department_name;   

#4.查詢部⻔中員⼯⽉薪⾼於5000的所有員⼯的姓名、⽉薪以及所在部⻔名稱。
	SELECT
	CONCAT(last_name,first_name) as 姓名,
	salary,
 department_name
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id
WHERE
	salary > 5000;

#5.查詢獎⾦率最⾼的員⼯的姓名、職位名稱以及獎⾦率。
	SELECT
	CONCAT(last_name,first_name) as 姓名,
	job_title,
	commission_pct
FROM
	employees e 
JOIN jobs j ON e.job_id = j.job_id
WHERE
	commission_pct = (SELECT MAX(commission_pct) FROM employees);

#6.查詢每個職位的最⾼⽉薪和最低⽉薪。
	SELECT
	job_title,
	MAX(salary),
	MIN(salary)
FROM
	employees e 
JOIN jobs j ON e.job_id = j.job_id
GROUP BY
	job_title;
	
#7.查詢⼊職時間早於2000年的所有員⼯的姓名、⼊職⽇期以及職位名稱。
	SELECT
	CONCAT(last_name,first_name) as 姓名,
	hiredate,
	job_title
FROM
	employees e 
JOIN jobs j on e.job_id = j.job_id
WHERE
	YEAR(hiredate) < 2000;

#8.查詢每個部⻔的員⼯⼈數。
	SELECT
	COUNT(*) as 人數,
	department_name
FROM
  employees e 
JOIN departments d ON e.department_id = d.department_id
GROUP BY
	department_name;

#9.查詢在每個部⻔中⽉薪最⾼的員⼯的姓名、⽉薪以及部⻔名稱。
#註:在使用in時可以使用()將需要的列括起來查詢
	SELECT 
	CONCAT(e.last_name,e.first_name) as 姓名,
	e.salary,
	d.department_name
FROM
	employees e JOIN departments d ON e.department_id = d.department_id 
WHERE
	(e.salary,d.department_id) in (
SELECT MAX(salary),department_id FROM employees GROUP BY department_id);               

#10.查詢⽉薪超過部⻔平均⽉薪的員⼯的姓名、⽉薪以及所在部⻔名稱。
	SELECT
	CONCAT( e1.last_name, e1.first_name ) AS 姓名,
	e1.salary,
	d.department_name 
FROM
	employees e1
	JOIN departments d ON e1.department_id = d.department_id 
WHERE
e1.salary > ( SELECT AVG( e2.salary ) FROM employees e2 WHERE e1.department_id = e2.department_id);

#11.查詢每個職位的員⼯⼈數。
	SELECT 
	COUNT(*) as 人數,
	job_title
FROM
	employees e 
JOIN jobs j ON e.job_id = j.job_id
GROUP BY
	job_title;

#12.查詢每個部⻔的最⾼⽉薪和最低⽉薪。
	SELECT
	department_name,
	MAX(salary),
	MIN(salary)
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id
GROUP BY
	department_name;

#13.查詢每個員⼯的姓名、郵箱、職位名稱以及他們的上級領導的姓名。
	SELECT
	CONCAT(e1.last_name,e1.first_name) as 姓名,
	e1.email,
	j.job_title,
	CONCAT(e2.last_name,e2.first_name) as 上級領導
FROM
	employees e1
JOIN employees e2 ON e1.manager_id = e2.employee_id
JOIN jobs j ON e1.job_id = j.job_id;

#14.查詢每個部⻔的員⼯平均獎⾦率。
	SELECT
	department_name,
	AVG(commission_pct) as 平均獎金率
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id
GROUP BY
	department_name;

#15.查詢每個城市的員⼯⼈數。
	SELECT
	COUNT(*) as 人數,
	city
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id
JOIN locations l ON d.location_id = l.location_id
GROUP BY
	city;

#16.查詢每個部⻔的職位種類數。
#註:使用distinct可以去重算種類數
	SELECT
	COUNT(DISTINCT job_id) as 種類數,
	department_name
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id
GROUP BY
	department_name;  

#17.查詢⼯資⾼於其職位平均⼯資的員⼯姓名、職位名稱以及⽉薪。
	SELECT
	CONCAT(e1.last_name, e1.first_name ) AS 姓名,
	j.job_title,
	e1.salary
FROM
 employees e1
JOIN jobs j ON e1.job_id = j.job_id
WHERE
	e1.salary > (SELECT AVG(e2.salary) FROM employees e2 WHERE e1.job_id = e2.job_id);

#18.查詢每個國家的員⼯⼈數。
	SELECT
	COUNT(DISTINCT employee_id) as 人數,
	country_id
FROM
	employees e 
JOIN departments d ON e.department_id = d.department_id
JOIN locations l ON d.location_id = l.location_id
GROUP BY
	country_id;

#19.查詢沒有領導的員⼯的姓名以及職位名稱。
	SELECT
	CONCAT( last_name, first_name ) AS 姓名,
	job_title
FROM
	employees e 
JOIN jobs j ON e.job_id = j.job_id
WHERE
	manager_id is null ;

#20.查詢job_id為"IT_PROG"的員⼯的姓名、職位名稱以及⽉薪。
	SELECT
	CONCAT( last_name, first_name ) AS 姓名,
	job_title,
	salary
FROM
	employees e 
JOIN jobs j ON e.job_id = j.job_id
WHERE
	e.job_id = 'IT_PROG';

好了,今天的分享結束了,答案僅供參考不代表最終答案,如果有更好的方法,歡迎在底下留言評論!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 寫在前面 大家好,不知道前面的20題大家寫的怎麼樣,前面分享的20題是SQL中查詢的基礎題型,這部分被稱為DQL部分,是每個學習MySQL必須要學會的部分,下麵就讓我來介紹MySQL中的TCL部分,也就是事務部分。 ACID四大特性 事務的概述 事務的ACID特性可以確保銀行不會弄丟你的錢。而在應用 ...
  • 本文節選自清華大學出版社出版的圖書《數據資產管理核心技術與應用》,作者為張永清等著。 從Spark 執行計劃中獲取數據血緣 因為數據處理任務會涉及到數據的轉換和處理,所以從數據任務中解析血緣也是獲取數據血緣的渠道之一,Spark 是大數據中數據處理最常用的一個技術組件,既可以做實時任務的處理,也可以 ...
  • 本文分享自天翼雲開發者社區《redis漸進式rehash》,作者:l****n Redis是k-v型資料庫,其內部設計了一種dict類型的數據結構用來存儲鍵值結構。 dict 通常的存儲結構是 Key-Value 形式的,通過 Hash 函數對 key 求 Hash 值來確定 Value 的位置,因 ...
  • 《數據資產管理核心技術與應用》是由清華大學出版社出版的一本圖書,該圖書主要特點如下: 1、依托於大數據技術,獨家解密數據血緣的底層技術實現 2、詳解數據資產管理的知識體系和核心技術 3、應用元數據管理和數據建模技術,充分發揮出數據資產的更大潛力和價值。 4、全書從元數據、數據血緣、數據質量、數據服務 ...
  • 因為在工作中需要推動Apache DolphinScheduler的升級,經過預研,從1.3.4到3.1.2有的體驗了很大的提升,在性能和功能性有了很多的改善,推薦升級。 查看官方的升級文檔,可知有提供升級腳本,如果只是跨小版本的更新那麼只用執行腳本就好了,但跨多個大版本升級時依然容易出現各種問題, ...
  • 近日,2024可信資料庫發展大會在北京召開,主題為“自主、創新、引領”。大會重磅發佈多項中國信通院及中國通信標準化協會大數據技術標準推進委員會(CCSA TC601)在資料庫領域最新研究和實踐成果。一眾資料庫領域的專家、學者、創業者匯聚一堂,圍繞金融、電信、能源與政務領域的資料庫應用創新帶來切實的落... ...
  • 最近我們遇到很多客戶需求是把Talend遷移到WhaleStudio,主要是發現WhaleStudio支持的數據源多很多,從各個版本的SAP到AWS Redshift,S3,從MangoDB CDC到 Neo4J甚至各種國產信創數據源,可謂應有盡有。同時,客戶發現WhaleStudio同步效率比Ta ...
  • 這次向大家分享一篇流圖處理系統論文GraphBolt,看如何基於計算曆史的方式實現增量圖計算,並保證與全量圖計算語義的一致性。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...