天天看點

MySQL入門 DQL語言之二:條件查詢MySQL入門 DQL語言之二:條件查詢

MySQL入門 DQL語言之二:條件查詢

#2.條件查詢

#一、按條件表達式篩選

#案例1.查詢工資>12000的員工資訊

SELECT 

  * 

FROM

  employees 

WHERE salary > 12000 ;

#查詢部門編号不等于90号的員工名和部門編号

SELECT 

  last_name,

  department_id 

FROM

  employees 

WHERE department_id <> 90 ; #貨值用 !=

#二、按邏輯表達式篩選

#案例1:按查詢工資在10000到20000之間的員工名,工資以及獎金

SELECT 

  last_name,

  salary,

  commission_pct 

FROM

  employees 

WHERE salary >= 10000 AND salary <= 20000 

#案例2:查詢部門編号不在90到110之間,或者工資高于15000的員工資訊

SELECT 

FROM

employees 

WHERE department_id NOT department_id => 90 

AND department_id <= 110 

OR salary > 15000 ;

#三、模糊查詢

#1.like

#案例1:查詢員工名字中包含字元A的員工資訊

SELECT 

  * 

FROM

  employees 

WHERE last_name LIKE '%a%' 

##案例2:查詢員工名中第三個字元為e,第五個字元為a的員工名和工資

SELECT 

  last_name,

  salary 

FROM

  employees 

WHERE last_name LIKE '__e_a%'

#案例3:查詢員工名中第二個字元為_的員工名

 SELECT 

  last_name

FROM

  employees 

WHERE last_name LIKE '_$_%' ESCAPE '$';

#需要使用轉義符 LIKE '_\_%'

#可以指定轉義符号 ESCAPE '$';

#2.between and

#案例1:查詢員工編号在100在120之間的員工資訊

SELECT 

  * 

FROM

  employees 

WHERE employee_id BETWEEN 100 AND 120;

#3.in

#案例:查詢員工的工種編号是 IT_PROG、AD_VP、AD_PRES中一個員工名和工種編号

SELECT 

  last_name,

  job_id 

FROM

  employees 

WHERE job_id IN('T_PROG','AD_VP','AD_PRES');

#4. is null

#案例1:查詢沒有獎金的員工名和獎金率

SELECT 

  last_name,

  commission_pct 

FROM

  employees 

WHERE commission_pct IS NULL ;

#案例2:查詢有獎金的員工名和獎金率

SELECT 

  last_name,

  commission_pct 

FROM

  employees 

WHERE commission_pct IS NOT NULL ;

#安全等于: <=>

#案例1:查詢沒有獎金的員工名和獎金率

SELECT 

  last_name,

  commission_pct 

FROM

  employees 

WHERE commission_pct <=> NULL ;

#案例2:查詢工資12000的員工資訊

SELECT 

  last_name,

  commission_pct,

  salary

FROM

  employees 

WHERE salary <=> 12000 ;

#is null vs <=>

MySQL入門 DQL語言之二:條件查詢MySQL入門 DQL語言之二:條件查詢
MySQL入門 DQL語言之二:條件查詢MySQL入門 DQL語言之二:條件查詢
MySQL入門 DQL語言之二:條件查詢MySQL入門 DQL語言之二:條件查詢

繼續閱讀