#进阶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