MySQL?條件查詢?cè)斀?/h1>
更新時(shí)間:2023年05月29日 11:41:31 作者:wxl@
這篇文章主要介紹了MySQL條件查詢,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
條件查詢
語(yǔ)法:
select
查詢列表
from
表名
where
篩選條件;
分類:
- 按條件表達(dá)式篩選:條件運(yùn)算符:> < = != >= <=
- 按邏輯表達(dá)式篩選:邏輯運(yùn)算符:&& || ! 或者:and or not
- 模糊查詢:like, between and, in, is null.
首先看看按條件表達(dá)式查詢:
# 查詢工資大于12000的員工:
select * from employees where salary > 12000;
# 部門編號(hào)不等于90的員工名和部門編號(hào)
select department_ID, sname from employees where department_ID != 90;
按邏輯表達(dá)式篩選:
# 查看工資在10000到20000之間的員工名和工資
select sname, salary from employees where
salary >=10000 and salary <= 20000;
# 查看部門編號(hào)不是在90到110之間并且工資高于20000的員工信息
select * from employees where department_ID<90 or department_ID>110
or salary > 20000;
模糊查詢
like:
# 查詢員工名中包含字符'a'的員工信息
# 這里注意,MySQL中不區(qū)分大小寫,所以名字中如果有大寫的A也是包含進(jìn)去的
select * from temp where sname like '%a%'; /* 字符型一定只能是單引號(hào),
因?yàn)樽址鸻的前后可能還有其他的字符,所以這里要在a的前后加上%,表示通配符*/
總結(jié)一下like的特點(diǎn):
一般和通配符配合使用
常見(jiàn)通配符?
% :任意多個(gè)字符,包含0個(gè)
_ :下劃線,任意的單個(gè)字符
# 查詢員工姓名中第三個(gè)字符是'a'第五個(gè)是'e'的員工信息:
select * from employees where name like '__a_e%';
# 查詢員工姓名中第二個(gè)字符是_的員工信息:
select * from employees where name like '_\_%';# 在這種like關(guān)鍵字模糊查詢中可以使用轉(zhuǎn)義字符\...
# 如果不想使用\也可以使用escape語(yǔ)句
select * from employees where name like '_$_%' escape '$';
between and:(簡(jiǎn)化and)
select * from employees where
salary between 120 and 200;
特點(diǎn):
- 可以簡(jiǎn)化代碼。
- 包含兩個(gè)臨界值(閉區(qū)間)。
- 不可以將兩個(gè)臨界值互換。
in(簡(jiǎn)化or):
# 查詢員工工種編號(hào)是AD_UI, AD_YU中的一個(gè)的員工的姓名和工號(hào)
select sname, job_id from employees where
job_id='AD_UI' or job_id='AD_YU';
# 使用in:
select sname, job_id from employees where
job_id in ('AD_UI', 'AD_YU');
# 特殊情況:如果將最后一句改成job_id in ('AD%');是否可行?
select sname, job_id from employees where
job_id in ('AD%');# 這是不可行的,因?yàn)橥ㄅ浞荒茉趌ike語(yǔ)句中使用
is null:
注意事項(xiàng):
不可以使用“=”來(lái)判斷值是否為空:
is 和null應(yīng)該是連在一起用的,不能判斷其他的如:is 200
select * from employees where
salary = null; # 這是錯(cuò)誤的表示方式
select * from employees where
salary is null; # 這是正確的表示方式
select * from employees where
salary is 2000; # 會(huì)報(bào)錯(cuò)
select * from employees where
salary is not null; # 判斷不是空
安全等于 <=>
安全等于可以判斷null也可以用來(lái)判斷常量值
可讀性不高,一眼看去無(wú)法判斷是等于還是不等于
select * from employees where
salary <=> null; # 判斷為空
select * from employees where
salary <=> 12000; # 判斷常數(shù)值
到此這篇關(guān)于MySQL 條件查詢 的文章就介紹到這了,更多相關(guān)mysql條件查詢 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
-
mysql性能優(yōu)化工具--tuner-primer使用介紹
這篇文章主要介紹了mysql性能優(yōu)化工具--tuner-primer的使用方法與返回?cái)?shù)據(jù)分析,需要的朋友可以參考下 2016-05-05
-
如何在Java程序中訪問(wèn)mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)并進(jìn)行簡(jiǎn)單的操作
這篇文章主要介紹了如何在Java程序中訪問(wèn)mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)并進(jìn)行簡(jiǎn)單的操作的相關(guān)資料,需要的朋友可以參考下 2016-05-05
-
用批處理實(shí)現(xiàn)自動(dòng)備份和清理mysql數(shù)據(jù)庫(kù)的代碼
有網(wǎng)友問(wèn)我在win2003下如何自動(dòng)備份MySQL數(shù)據(jù)庫(kù),既然是自動(dòng)備份,那肯定得寫腳本,當(dāng)然我們也可以利用軟件實(shí)現(xiàn) 2013-08-08
-
MacOS 下安裝 MySQL8.0 登陸 MySQL的方法
這篇文章主要介紹了MacOS 下安裝 MySQL8.0 登陸 MySQL 的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下 2019-05-05
-
mysql之?dāng)?shù)據(jù)庫(kù)常用腳本總結(jié)
這篇文章主要介紹了mysql之?dāng)?shù)據(jù)庫(kù)常用腳本總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教 2023-03-03
最新評(píng)論
條件查詢
語(yǔ)法:
select 查詢列表 from 表名 where 篩選條件;
分類:
- 按條件表達(dá)式篩選:條件運(yùn)算符:> < = != >= <=
- 按邏輯表達(dá)式篩選:邏輯運(yùn)算符:&& || ! 或者:and or not
- 模糊查詢:like, between and, in, is null.
首先看看按條件表達(dá)式查詢:
# 查詢工資大于12000的員工: select * from employees where salary > 12000; # 部門編號(hào)不等于90的員工名和部門編號(hào) select department_ID, sname from employees where department_ID != 90;
按邏輯表達(dá)式篩選:
# 查看工資在10000到20000之間的員工名和工資 select sname, salary from employees where salary >=10000 and salary <= 20000; # 查看部門編號(hào)不是在90到110之間并且工資高于20000的員工信息 select * from employees where department_ID<90 or department_ID>110 or salary > 20000;
模糊查詢
like:
# 查詢員工名中包含字符'a'的員工信息 # 這里注意,MySQL中不區(qū)分大小寫,所以名字中如果有大寫的A也是包含進(jìn)去的 select * from temp where sname like '%a%'; /* 字符型一定只能是單引號(hào), 因?yàn)樽址鸻的前后可能還有其他的字符,所以這里要在a的前后加上%,表示通配符*/
總結(jié)一下like的特點(diǎn):
一般和通配符配合使用
常見(jiàn)通配符?
% :任意多個(gè)字符,包含0個(gè)
_ :下劃線,任意的單個(gè)字符
# 查詢員工姓名中第三個(gè)字符是'a'第五個(gè)是'e'的員工信息: select * from employees where name like '__a_e%'; # 查詢員工姓名中第二個(gè)字符是_的員工信息: select * from employees where name like '_\_%';# 在這種like關(guān)鍵字模糊查詢中可以使用轉(zhuǎn)義字符\... # 如果不想使用\也可以使用escape語(yǔ)句 select * from employees where name like '_$_%' escape '$';
between and:(簡(jiǎn)化and)
select * from employees where salary between 120 and 200;
特點(diǎn):
- 可以簡(jiǎn)化代碼。
- 包含兩個(gè)臨界值(閉區(qū)間)。
- 不可以將兩個(gè)臨界值互換。
in(簡(jiǎn)化or):
# 查詢員工工種編號(hào)是AD_UI, AD_YU中的一個(gè)的員工的姓名和工號(hào) select sname, job_id from employees where job_id='AD_UI' or job_id='AD_YU'; # 使用in: select sname, job_id from employees where job_id in ('AD_UI', 'AD_YU'); # 特殊情況:如果將最后一句改成job_id in ('AD%');是否可行? select sname, job_id from employees where job_id in ('AD%');# 這是不可行的,因?yàn)橥ㄅ浞荒茉趌ike語(yǔ)句中使用
is null:
注意事項(xiàng):
不可以使用“=”來(lái)判斷值是否為空:
is 和null應(yīng)該是連在一起用的,不能判斷其他的如:is 200
select * from employees where salary = null; # 這是錯(cuò)誤的表示方式 select * from employees where salary is null; # 這是正確的表示方式 select * from employees where salary is 2000; # 會(huì)報(bào)錯(cuò) select * from employees where salary is not null; # 判斷不是空
安全等于 <=>
安全等于可以判斷null也可以用來(lái)判斷常量值
可讀性不高,一眼看去無(wú)法判斷是等于還是不等于
select * from employees where salary <=> null; # 判斷為空 select * from employees where salary <=> 12000; # 判斷常數(shù)值
到此這篇關(guān)于MySQL 條件查詢 的文章就介紹到這了,更多相關(guān)mysql條件查詢 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql性能優(yōu)化工具--tuner-primer使用介紹
這篇文章主要介紹了mysql性能優(yōu)化工具--tuner-primer的使用方法與返回?cái)?shù)據(jù)分析,需要的朋友可以參考下2016-05-05如何在Java程序中訪問(wèn)mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)并進(jìn)行簡(jiǎn)單的操作
這篇文章主要介紹了如何在Java程序中訪問(wèn)mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)并進(jìn)行簡(jiǎn)單的操作的相關(guān)資料,需要的朋友可以參考下2016-05-05用批處理實(shí)現(xiàn)自動(dòng)備份和清理mysql數(shù)據(jù)庫(kù)的代碼
有網(wǎng)友問(wèn)我在win2003下如何自動(dòng)備份MySQL數(shù)據(jù)庫(kù),既然是自動(dòng)備份,那肯定得寫腳本,當(dāng)然我們也可以利用軟件實(shí)現(xiàn)2013-08-08MacOS 下安裝 MySQL8.0 登陸 MySQL的方法
這篇文章主要介紹了MacOS 下安裝 MySQL8.0 登陸 MySQL 的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05mysql之?dāng)?shù)據(jù)庫(kù)常用腳本總結(jié)
這篇文章主要介紹了mysql之?dāng)?shù)據(jù)庫(kù)常用腳本總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03