mysql基礎-進階二【條件查詢】
阿新 • • 發佈:2020-11-04
基礎語句-進階2【條件查詢】
-
條件查詢
-
語法:
select 查詢列表 from 表名 where 篩選條件; 執行順序: 1. from 子句 2. where 子句 3. select 子句
-
特點
-
按關係表示式篩選
-
關係運算符: >,<, >=, <=, =, <>
-
# 1,查詢部門編號不是100的員工資訊 SELECT * FROM employees WHERE department_id <> 100; #2, 工資小於15000的姓名和工資 SELECT first_name,salary FROM employees WHERE
-
-
按邏輯表示式篩選
-
與或非 and or not
-
#3, 查詢部門編號不是50-100之間的員工姓名,部門編號,郵箱 SELECT last_name,department_id,email FROM employees WHERE NOT (department_id >= 50 AND department_id <= 100); #4,查詢獎金率>0.03 或者 員工編號在60-110之間的員工資訊 SELECT * FROM employees WHERE commission_pct > 0.03 OR (employee_id >=
-
-
模糊查詢
-
like in between and is null
-
like
-
/* 功能:一般和萬用字元搭配使用,對字元型資料進行部分匹配查詢 常見的萬用字元: _ 任意單個字元 % 任意多個字元 $ ESCAPE '$' 將$後面的字元轉義 */ #5, 查詢姓名中包含字元a的員工資訊 SELECT * FROM employees WHERE last_name LIKE '%a%'; #6, 查詢姓名中最後一個字元為e字元的員工資訊 SELECT * FROM employees WHERE last_name LIKE
-
-
in
-
/* 功能:查詢某欄位的值是否屬於指定的列表之內 a in (常量1,常量2,常量3...) a not in (常量1,常量2,常量3...) */ #9, 查詢部門編號是30/50/90 的員工名,部門編號 SELECT last_name,department_id FROM employees WHERE department_id IN(30,50,90); #SELECT last_name,department_id FROM employees WHERE department_id=30 OR department_id=50 OR department_id=90; #10, 查詢工種編號不是sh_clerk 或者it_prog的員工資訊 SELECT * FROM employees WHERE job_id NOT IN ('SH_CLERK', 'IT_PROG');
-
-
between...and
-
/* 功能:判斷某個欄位的值是否介於。。。之間 */ #11, 查詢部門編號是30-90之間的部門編號、員工姓名 SELECT department_id,last_name FROM employees WHERE department_id BETWEEN 30 AND 90; #12, 查詢年薪不是10w~20w之間的員工姓名、工資、年薪 SELECT last_name,salary,salary*12*(1+IFNULL(commission_pct,0)) FROM employees WHERE salary*12*(1+IFNULL(commission_pct,0)) NOT BETWEEN 100000 AND 200000;
-
-
is null
-
/* 功能:判斷不為空 is 只能用來判斷null = 只能用來判斷普通的內容 <=> 安全等於,既能用來判斷null 也能用來判斷普通的內容 */ #13, 查詢沒有獎金的員工資訊 SELECT * FROM employees WHERE commission_pct IS NULL; #14, 查詢有獎金的員工資訊 SELECT * FROM employees WHERE commission_pct IS NOT NULL;
-
-
-
-