select 语句通过 where 字句来指定查询数据的条件。
语法:
SELECT<列名>FROM<表名>WHERE<筛选条件>;
执行顺序:
from —-> where —->select
分类
按条件表达式筛选
条件运算符:>、<、=、!=、<>、>=、<=。
注意:=、<> 不能用于判断 null 值,is null、 is not null、<=> 可以判断 null 值。
如:
SELECTsalaryFROMemployeesWHEREsalary > 12000;SELECTlast_name,department_idFROMemployeesWHEREdepartment_id <> 90;
按逻辑运算符筛选
用于连接条件表达式。
逻辑运算符:&&、 ||、 !、 and 、or、 not。
| param1 | param2 | && 和 and | || 和 or | 
|---|---|---|---|
| true | true | true | true | 
| false | true | false | true | 
| true | false | false | true | 
| false | false | false | true | 
**
| param | ! 和 not | 
|---|---|
| true | false | 
| false | true | 
**
如:
# 工资在 10000 和 20000 之间SELECTlast_name,salary,commission_pctFROMemployeesWHEREsalary >= 10000AND salary <= 20000;# 部门编号不在 90 到 110 之间,或者工资高于 15000 的员工信息SELECT*FROMemployeesWHERE( department_id < 90 AND department_id )OR salary >= 15000;
模糊查询
关键字:like、between and 、in、is null、is not null、not。
**
| 关键字 | 特点 | 
|---|---|
| like | 一般和通配符搭配使用,通配符:% 任意多个字符,包含 0 个字符;_ 任意单个字符。如果查询的字符中含有通配符可以使用 \ 转义。或者自定义一个转义字符如:$ ,但必须使用 escape 指定。 | 
| between and | 使用 between and 可以简洁查询语句。包含两个临界值,两个临界值不能调换。 | 
| in | 判断某字段的值是否属于 in 列表中的某一项。使用in 可以简查询语句,in 列表的值类型必须一致或兼容。 | 
| not | 用来否定某一条件 | 
如:
# like 关键字# 查询员工名中包含字符a的员工信息SELECT*FROMemployeesWHERElast_name LIKE '%a%';# 查询员工名中第三个字符为n,第五个字符为l的员工民和工资SELECTlast_name,salaryFROMemployeesWHERElast_name LIKE '__n_l%';# 查询员工名以任意一个字符开头第二个字符为_的员工信息SELECT*FROMemployeesWHERElast_name LIKE '_\_%';# between 关键字# 查询员工编号在100到120之间的员工信息SELECT*FROMemployeesWHEREemployee_id BETWEEN 100AND 120;# 查询员工的工种编号是IT_PROG、AD_VP、AD_PRES的员工名和工种编号SELECTlast_name,job_idFROMemployeesWHEREjob_id IN ( 'IT_PROG', 'AD_YP', 'AD_PRES' );# NOT 关键字# 查询有奖金率的员工名和奖金率SELECTlast_name,commission_pctFROMemployeesWHEREcommission_pct IS NOT NULL;
