MySQL子查詢的空值問題解決
目前數(shù)據(jù)庫中有三個表
| EMPLOYEES表 | DEPARTMENTS表 | LOCATIONS表 |
|---|---|---|
| employee_id | department_id | location_id |
| first_name | department_name | street_address |
| last_name | manager_id | postal_code |
| location_id | city | |
| phone_number | state_province | |
| job_id | country_id | |
| salary | ||
| commission_pct | ||
| manager_id | ||
| department_id |
#現(xiàn)在要求:
#查找公司管理者的last_name。已知manager_id有為null的數(shù)據(jù)
SELECT last_name
FROM employees
WHERE employee_id IN (
SELECT manager_id
FROM employees
);
這里找出了所有公司管理者的名字(18行數(shù)據(jù))。 ? 已知employees中共107行數(shù)據(jù) ? 現(xiàn)要查出這18人以外的人,理論上有89人。
#已知manager_id有為null的數(shù)據(jù) SELECT last_name FROM employees WHERE employee_id NOT IN ( SELECT manager_id FROM employees );

可見,查詢結(jié)果為空。
原因: 使用not in 的時候,如果not in后面的選項中有null,不會查詢出來任何數(shù)據(jù)。sql語句本身直接返回false
#舉例 SELECT employee_id,last_name FROM employees WHERE employee_id NOT IN (NULL,101,102); #該語句返回空集
舉例的查詢語句等價于
SELECT employee_id,last_name FROM employees WHERE employee_id!= NULL AND employee_id!=101 AND employee_id!=102;
WHERE中的條件永遠(yuǎn)返回null
null不能參與比較運算符,即與任何數(shù)據(jù)比較結(jié)果都為null,
比較結(jié)果分為true、false、null,只有結(jié)果為true時候,系統(tǒng)才認(rèn)為匹配成功并返回記錄,
到此這篇關(guān)于MySQL子查詢的空值問題解決的文章就介紹到這了,更多相關(guān)MySQL子查詢空值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS7環(huán)境下安裝MySQL5.5數(shù)據(jù)庫
大家好,本篇文章主要講的是CentOS7環(huán)境下安裝MySQL5.5數(shù)據(jù)庫,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
MySQL數(shù)據(jù)庫表內(nèi)容的增刪查改操作實例詳解
對于刪除操作來說,是將表單個或者多個數(shù)據(jù)進(jìn)行刪除,而截斷則是對整個表進(jìn)行操作,會將整個表數(shù)據(jù)都清除,本文給大家介紹MySQL數(shù)據(jù)庫表內(nèi)容的增刪查改操作大全,感興趣的朋友一起看看吧2025-04-04
Oracle10個分區(qū)和Mysql分區(qū)區(qū)別詳解
MySQL分區(qū)常用的是:range、list、hash、key,Oracle10g分區(qū)常用的是:range(范圍分區(qū))、list(列表分區(qū))、hash(哈希分區(qū))、range-hash(范圍—哈希分區(qū))、range-list(列表—復(fù)合分區(qū))。下面通過本文詳細(xì)給大家介紹Oracle10個分區(qū)和Mysql分區(qū)區(qū)別,一起看看2017-02-02
MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋(推薦)
在MySQL5.7中,performance schema有很大改進(jìn),包括引入大量新加入的監(jiān)控項、降低占用空間和負(fù)載,以及通過新的sys schema機(jī)制顯著提升易用性。下面通過本文給大家介紹 MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋,需要的朋友可以參考下2017-08-08
六條比較有用的MySQL數(shù)據(jù)庫操作的SQL語句小結(jié)
本文我們主要介紹了MySQL數(shù)據(jù)庫中的六條比較有用的SQL語句,對于初學(xué)者來說,可以直接套用下面的格式即可完成相應(yīng)的功能,希望本次的介紹能夠?qū)δ兴鶐椭?/div> 2011-08-08最新評論

