语法:
select 查询列表
from 表名
where 筛选条件;
分类:
一,按条件表达式筛选
条件运算符: ><= != <> >= <=
二,按逻辑表达式筛选
作用:用于连接条件表达式
逻辑运算符:&& || !
and or not
三,模糊查询
like
between
in
is null
=======================================================
一,按条件表达式筛选
- #案例一, 查询工资>12000的员工信息
- SELECT *
- FROM employees
- WHERE salary>12000;
- #案例二,查询部门编号不等于90的员工编号和部门编号
- SELECT last_name,department_id
- FROM employees
- WHERE department_id<>90;

二,按逻辑表达式筛选
- #案例一,查询工资在10000到20000之间的员工名,工资及奖金
- SELECT last_name,salary,commission_pct
- FROM employees
- WHERE salary>=10000 AND salary<=20000;
- #案例二,查询部门编号不是在90-110之间,或者工资高于15000的员工信息
- SELECT *
- FROM employees
- WHERE department_id<90 OR department_id>110 OR salary>15000;

三,模糊查询
1.like
特点:一般和通配符搭配使用
通配符:%任意多个字符,包含0个字符
_任意单个字符
- #案例一,查询员工名包含字符a的员工信息
- SELECT *
- FROM employees
- WHERE last_name LIKE '%a%';

-
- #案例二,查询员工中第三个字符为n,第五个字符为l的员工名和工资
- SELECT last_name,salary
- FROM employees
- WHERE last_name LIKE'__n_l%';

- #案例三,查询员工名中第二个字符为_的员工名
- SELECT last_name
- FROM employees
- WHERE last_name LIKE '_$_%'ESCAPE'$';
- #解释:$此时表示转义,后面的escape解释 其实可以直接\_,即‘_\_%’

#2.between and
/*
包含临界值,简洁,两个临界值不能颠倒
*/
- #案例一,查询员工编号在100-120之间的员工信息
- SELECT *
- FROM employees
- WHERE employee_id BETWEEN 100 AND 120;

#3.in
/*
判断某字段的值是否属于in列表中的某一项
特点:使用in比or提高语句简洁度
in列表的值类型必须一致
- #案例:查询员工的工种编号是 IT_PROG,AD_VP,AD_PRES的员工员工名和工种编号
- SELECT last_name,job_id
- FROM employees
- WHERE job_id IN('IT_PROG','AD_VP','AD_PRES');

#4.is null
/*
is null或is not null判断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;


#安全等于 <=>
#用来判断是否等于,如果等于true
-
- #案例1,查询没有奖金的员工名和奖金率
- SELECT last_name,commission_pct
- FROM employees
- WHERE commission_pct <=> NULL;
-
- #案例二,查询工资为12000的员工信息
-
- SELECT last_name,salary
- FROM employees
- WHERE salary<=> 12000;

======================================================