子查詢

查詢最低工資大于50號部門最低工資的部門id和其最低工資
1查詢5號部門最低工資

SELECT
    MIN(salary)
FROM
    employees e
WHERE
    department_id = 50

2查詢每個部門最低工資

SELECT
    MIN(salary) Minsalary,
    department_id
FROM
    employees e
GROUP BY
    department_id

3在2的基礎上做篩選囚衔,滿足min(salary)>1

SELECT
    MIN(salary) Minsalary,
    department_id
FROM
    employees e
GROUP BY
    department_id
HAVING
    MIN(salary) > (
        SELECT
            MIN(salary)
        FROM
            employees
        WHERE
            department_id = 50
    )

多行子查詢
in/not in 等于列表中任意一個
any| some 和子查詢返回的某一個值比較
all 和子查詢返回的所有制比較
2查詢location_id是1400或者1700的部門編號

多表左外連接

SELECT
    last_name
FROM
    employees e
LEFT JOIN departments d ON e.department_id = d.department_id
LEFT JOIN locations l ON d.location_id = l.location_id
WHERE
    l.location_id IN (1400, 1700)

使用子查詢

SELECT
    last_name
FROM
    employees e
WHERE
    department_id IN (
        SELECT
            department_id
        FROM
            departments
        WHERE
            location_id IN (1400, 1700)
    )

當然也可使用where查詢
3返回其他工種比job_id為'IT-PROG'部任一工資低的員工號,姓名冶匹,job_id

SELECT
    employee_id,
    last_name,
    job_id,
    salary
FROM
    employees e
WHERE
    salary < ANY (
        SELECT
            salary
        FROM
            employees
        WHERE
            job_id = 'IT_PROG'
    )
AND job_id <> 'IT_PROG'

思考
not in 與 all
in any

行子查詢

查詢員工編號最小并且工資最高的員工信息
傳統(tǒng)做法

*

SELECT
    *
FROM
    employees
WHERE
    (employee_id, salary) = (
        SELECT
            min(employee_id),
            MAX(salary)
        FROM
            employees
    )

查詢每個部門的平均工資等級

SELECT
    ag_dep.*, jg.grade_level
FROM
    (
        SELECT
            avg(salary) avgSal,
            department_id
        FROM
            employees e
        GROUP BY
            department_id
    ) ag_dep
INNER JOIN job_grades jg ON ag_dep.avgSal BETWEEN jg.lowest_sal
AND highest_sal

練習
1查詢和Zlotkey相同部門的員工姓名和工資

SELECT
    last_name,
    salary
FROM
    employees
WHERE
    department_id = (
        SELECT
            department_id
        FROM
            employees
        WHERE
            last_name = "Zlotkey"
    )

2查詢各部門工資中比本部門平均工資高的員工的員工號,姓名和工資

SELECT
    employee_id,
    last_name,
    salary,
    e.department_id
FROM
    employees e
INNER JOIN (
    SELECT
        avg(salary) avgSal,
        department_id
    FROM
        employees
    GROUP BY
        department_id
) ag_dep ON e.department_id = ag_dep.department_id
WHERE
    salary > ag_dep.avgSal

3查詢平均工資最高的job信息

SELECT
    *
FROM
    jobs
WHERE
    job_id = (
        SELECT
            job_id
        FROM
            employees e
        GROUP BY
            job_id
        ORDER BY
            salary DESC
        LIMIT 1
    )

4查詢平均工資高于公司平均工資的部門有哪些

SELECT
    avg(salary) sal,
    department_id
FROM
    employees
GROUP BY
    department_id
HAVING
    sal > (
        SELECT
            avg(salary)
        FROM
            employees
    )

5查詢公司中所有manager的詳細信息

SELECT
    *
FROM
    employees
WHERE
    employee_id IN (
        SELECT
            manager_id
        FROM
            employees
    )

6查詢各部門中最高工資中最低的那個部門的最低工資

SELECT
    min(salary) salary
FROM
    employees
WHERE
    department_id = (
        SELECT
            department_id
        FROM
            employees e
        GROUP BY
            department_id
        ORDER BY
            max(salary) ASC
        LIMIT 1
    ) #查詢10號部門最低工資

7查詢平均工資最高的部門的manager的詳細信息

SELECT
    last_name,
    salary,
    email
FROM
    employees ee
INNER JOIN departments d ON d.manager_id = ee.employee_id
WHERE
    d.department_id = (
        SELECT
            department_id
        FROM
            employees e
        GROUP BY
            department_id
        ORDER BY
            AVG(salary) DESC
        LIMIT 1
    )

union 默認會去重
union All不去重
語法: A與B字段必須對應

SELECT
    學號,
    姓名,
    成績
FROM
    A
UNION
    SELECT
        學號,
        姓名,
        成績
    FROM
        B
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撤防,一起剝皮案震驚了整個濱河市虽风,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖辜膝,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件无牵,死亡現(xiàn)場離奇詭異,居然都是意外死亡厂抖,警方通過查閱死者的電腦和手機茎毁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來验游,“玉大人充岛,你說我怎么就攤上這事「酰” “怎么了崔梗?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長垒在。 經(jīng)常有香客問我蒜魄,道長,這世上最難降的妖魔是什么场躯? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任谈为,我火速辦了婚禮,結(jié)果婚禮上踢关,老公的妹妹穿的比我還像新娘伞鲫。我一直安慰自己,他們只是感情好签舞,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布秕脓。 她就那樣靜靜地躺著,像睡著了一般儒搭。 火紅的嫁衣襯著肌膚如雪吠架。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天搂鲫,我揣著相機與錄音傍药,去河邊找鬼。 笑死魂仍,一個胖子當著我的面吹牛拐辽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播擦酌,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼薛训,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了仑氛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锯岖,沒想到半個月后介袜,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡出吹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年遇伞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捶牢。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡鸠珠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秋麸,到底是詐尸還是另有隱情渐排,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布灸蟆,位于F島的核電站驯耻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏炒考。R本人自食惡果不足惜可缚,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斋枢。 院中可真熱鬧帘靡,春花似錦、人聲如沸瓤帚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缘滥。三九已至轰胁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間朝扼,已是汗流浹背赃阀。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留擎颖,地道東北人榛斯。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像搂捧,于是被迫代替她去往敵國和親驮俗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351