解決Mysql多行子查詢的使用及空值問題
更新時(shí)間:2022年01月22日 10:11:12 作者:不入開發(fā)不工作
所謂多行子查詢,是指執(zhí)行查詢語句獲得的結(jié)果集中返回了多行數(shù)據(jù)的子查詢,今天通過本文給大家分享Mysql多行子查詢的使用及空值問題,感興趣的朋友一起看看吧
1 定義
- 也稱為集合比較子查詢
- 內(nèi)查詢返回多行
- 使用多行比較操作符
2 多行比較操作符
-- 多行子查詢 -- IN SELECT employee_id, manager_id, department_id FROM employees WHERE manager_id IN ( -- 在返回集合中查找有沒有相同的manager_id在里面 SELECT manager_id FROM employees WHERE employee_id IN ( 141, 147 )); -- ANY #題目:返回其它job_id中比job_id為'IT_PROG'部門任一工資低的員工的員工號(hào)、姓名、job_id 以及salary last_name, job_id, salary job_id != 'IT_PROG' AND salary < ANY ( -- 比任意一個(gè)小都可以 SELECT salary FROM employees WHERE job_id = 'IT_PROG' ); -- ALL #題目:返回其它job_id中比job_id為'IT_PROG'部門所有工資低的員工的員工號(hào)、姓名、job_id 以及salary AND salary < ALL ( -- 比所有的都小才可以
3 空值問題
3.1 問題
-- 空值問題 SELECT last_name FROM employees WHERE employee_id NOT IN ( SELECT -- 子查詢中的結(jié)果有NULL manager_id employees)
子查詢的結(jié)果:
查詢結(jié)果:
3.2 解決
去掉子查詢中的NULL即可
-- 空值問題解決 SELECT last_name FROM employees WHERE employee_id NOT IN ( SELECT manager_id FROM employees manager_id IS NOT NULL)
子查詢?nèi)サ鬘ULL:
查詢結(jié)果:
到此這篇關(guān)于Mysql多行子查詢的使用及空值問題的解決的文章就介紹到這了,更多相關(guān)Mysql多行子查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL基于group_concat()函數(shù)合并多行數(shù)據(jù)
這篇文章主要介紹了MySQL基于group_concat()函數(shù)合并多行數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10MySql UNION 一行轉(zhuǎn)多列的實(shí)現(xiàn)示例
在MySQL命令行中,有時(shí)候我們會(huì)遇到一行的數(shù)據(jù)需要以多列的形式呈現(xiàn)的情況,本文就詳細(xì)介紹了一下一行轉(zhuǎn)多列的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08MySQL根據(jù)某一個(gè)或者多個(gè)字段查找重復(fù)數(shù)據(jù)的sql語句
這篇文章主要介紹了MySQL根據(jù)某一個(gè)或者多個(gè)字段查找重復(fù)數(shù)據(jù)的sql語句,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12