MySQL 基本語法 (十二) Subquery

閱讀時間約 1 分鐘

Subquery 子查詢

在一個查詢語句裡面使用另一個查詢語句的結果

(在一個查詢語句裡面塞入另一個查詢語句)

  1. 找出研發部門的經理名字

(1)用一個查詢取找`branch`中研發部門經理的`manager_id`

SELECT `manager_id` FROM `branch`
WHERE `branch_name` = '研發';
raw-image

(2)再寫另一個查詢,這個查詢利用剛剛的查詢結果(`manager_id`)去找`employee`中員工id是206的名字

SELECT `name`
FROM `employee`
WHERE `emp_id` = (
SELECT `manager_id` FROM `branch`
WHERE `branch_name` = '研發'
);
raw-image

等同於這個意思 :

SELECT `name`
FROM `employee`
WHERE `emp_id` = 206;


  1. 找出對單一位客戶銷售金額超過50000的員工名字
 SELECT `employee`.`name` FROM `employee`
WHERE `employee`.`emp_id` IN (
SELECT `works_with`.`emp_id` FROM `works_with`
WHERE `total_sales` > 50000
);
raw-image




7會員
47內容數
這裡會放一些我寫過的 Leetcode 解題和學習新技術的筆記
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
SQL | SQL 語法基礎篇 (1)SQL 基本篇 - CRUD、運算子、內建函式
Thumbnail
avatar
Jeremy Ho
2023-10-03
MySQL與MongoDB:關聯式與非關聯式資料庫比較在現代資訊科技的浪潮下,資料庫管理系統扮演著舉足輕重的角色,決定著企業和開發者如何有效地儲存、查詢和操作數據。MySQL和MongoDB是兩種廣泛使用的資料庫,分別代表了傳統的關聯式資料庫(RDBMS)和新興的非關聯式資料庫(NoSQL)的典型。
Thumbnail
avatar
Kevin_malamute |凱文-馬拉穆
2023-08-15
[MySQL] Restore範例資料庫有了MySQL後,當然就要下指令來玩玩 能玩爆代表你有天賦,每一次爆炸你又能修復就是成長大躍進的時刻 但是看看你的資料庫空空如也,只有系統DB怎麼辦咧 還好網路上有很多善心人士願意分享範例資料庫供人使用 話不多說就來試試看吧  1. 先找到你要的範例資料庫 範例資料庫下載
Thumbnail
avatar
衣服子
2021-11-08
[MySQL] CentOS7 安裝 MYSQL 8.0網路隨便估狗都有一堆大神教學文,不過還是紀錄一下自己安裝的步驟 (2021.11.7)身為一個linux和資料庫菜雞只能乖乖腳踏實地一步一步來 準備好環境 (廢話) 1. 先準備好環境 (廢話) 我是用virtualbox起一個CentOS7的虛擬機詳細以參考以下網址,有非常詳盡的步驟
Thumbnail
avatar
衣服子
2021-11-08
MySQL GROUP_CONCAT 長度限制Laravel GROUP_CONCAT 出來的json格式錯誤,看起來是字串被截斷了,查了一下發現原來MySQL GROUP_CONCAT select出來的字串會有最大值的限制,預設是1024個字元。 1. 程式端解法:    DB::statement('SET GLOBAL group_c
avatar
Vic Lin
2021-10-08
MySQL DATE_SUBMySQL 取得現在日期半年前的日期: DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH) 本筆記參考: https://www.w3schools.com/sql/func_mysql_date_sub.asp
Thumbnail
avatar
Vic Lin
2021-09-28
MySQL group_concat merge two column to json以下以Laravel為例,一般group_concat我們可能會這樣寫: E 但其實table_a_id, table_a_name可以merge成一個json,資料整理起來比較好看,可以改成這樣的寫法: E 最後response之前可以用php的json_decode把json string轉為o
avatar
Vic Lin
2021-05-14
MySQL group_concat with if condition有時候我們會需要只group concat某些條件,就可以像這樣寫: group_concat(DISTINCT IF(user.name != 'abc' AND b.b_id != c.c_id, c.name, NULL)) as d 符合這個條件的才給值,否則給null,由於group_co
avatar
Vic Lin
2021-05-12
avatar
Alan & Jane
2021-01-10
[Mysql]使用正規化篩選結果由於使用Python爬政府公開資訊進Mysql後,如果只想選取特定字串出來可以使用 WHERE 搭配 Like;但是當我們要尋找的字串非常多時,我們可以使用 REGEXP 的方式篩選,個人覺得比較有效率及程式不會太過冗長,如果有更好的作法也可以在下方回覆唷
Thumbnail
avatar
Justin
2020-02-03