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 <=>