mysql中where條件查詢


#進階2:條件查詢
/*
語法:
SELECT
	查詢列表
FROM
	表名
WHERE
	篩選條件;
分類:
	一、按條件表達式篩選
	條件運算符:> < = <> >= <=
	二、按邏輯表達式篩選
	邏輯運算符:
	作用:用於連接條件表達式
							&& || !
              and or NOT
	三、模糊查詢
		LIKE beween AND
    in
		is NULL
*/
#一、按條件表達式篩選
#案例1:查詢工資大於12000
SELECT
	*
FROM
	employees
WHERE
	salary > 12000;

#案例2:查詢部門標號不等於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
	NOT (
		department_id >= 90
		AND department_id <= 110
	)
OR salary >= 15000;

#三、模糊查詢
/*
LIKE
特點:①一般和通配符搭配使用
通配符
% 任意多個字符,包含0個字符
_任意單個字符
BETWEEN AND
in
is NULL| IS NOT NULL
*/
#案例1:查詢員工名中包含字符a 的員工信息
SELECT
	*
FROM
	employees
WHERE
	last_name LIKE '%a%';

#案例2:查詢員工名中包含字符a的員工信息
SELECT
	last_name,
	salary
FROM
	employees
WHERE
	last_name LIKE '__n_l%';

#案例3:查詢員工名中第二個字符為_的員工名
SELECT
	last_name
FROM
	employees
WHERE
	last_name LIKE '_\_%';

#---------------------------------------------
#2 between AND
/*
①使用between and可以提高語句的簡潔度
 ②包含臨界值
③兩個臨界值不要調換順序*/
#案例4:查詢員工標號在100到120之間的員工信息
SELECT
	*
FROM
	employees
WHERE
	employee_id BETWEEN 100
AND 120;

#3.IN
/*
含義:判斷某字段的值是否屬於in列表中 的某一項
特點:① 使用in提高語句簡潔度
			②in列表的值類型必須一致或兼容
*/
#案例:查詢員工的公眾編號是IT_PROG、AD_PRES中的一個員工名和工種編號
SELECT
	last_name,
	job_id
FROM
	employees
WHERE
	job_id IN (
		'IT_PROG',
		'AD_PRES',
		'AD_VP'
	);

#---------------------
#4.is NULL
#案例1.查詢沒有獎金的員工名和獎金率
SELECT
	last_name,
	commission_pct
FROM
	employees
WHERE
	commission_pct IS NULL

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM