语法:
Select 查询列表 from 表名 where 筛选条件;
分类:
1.按条件表达式筛选
①条件运算符:>、<、=、!=(<>)、>=、<=
2.按逻辑表达式筛选
①逻辑运算符:AND(&&)、 OR(||)、 NOT(!)
3.模糊查询
①LIKE
②BETWEEN AND
③IN
④IN NULL
一、按条件表达式筛选
案例一:查询salary>12000的员工信息
SELECT * FROM employees WHERE salary > 12000;
案例二:查询department_id不等于90的 last_name 和 department_id
SELECT last_name 姓, department_id 部门编号 FROM employees WHERE department_id <> 90;
二:按逻辑表达式筛选
案例一:查询salary在10000到20000之间的last_name、salary、commission_pct
SELECT last_name AS 姓, salary AS 工资, commission_pct AS 奖金率 FROM employees WHERE salary > 10000 AND salary < 20000;
案例二:查询department_id不是在90到110之间,或者salary高于15000的员工的信息
SELECT * FROM employees WHERE department_id <= 90 or department_id >= 110 or salary >15000;
三、模糊查询
1.LIKE:
特点:
①一般和通配符使用
a)通配符:
i. '%'任意多个字符,包含0个字符
ii. '_'任意单个字符
案例一:查询last_name包含字符‘a’的员工信息
SELECT * FROM employees WHERE last_name LIKE '%a%';
案例二:查询last_name中第三个字符为n,第五个字符为l的last_name和salary
SELECT last_name, salary FROM employees WHERE last_name LIKE '__n_l%';
案例三:查询last_name中第二个字符为‘_’的员工信息
SELECT last_name, salary FROM employees WHERE last_name LIKE '_$_%' ESCAPE ‘$’; #ESCAPE:声明'$_'字符为转义字符
2.BETWEEN AND
特点:
①使用between and可以提高语句的简洁度
②包含临界值
③两个临界值不要调换顺序
案例一:查询employee_id在100到120之间的员工信息
SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 120;
3.IN
功能:判断某个字段的值是否属于IN列表中的某一项
特点:
①使用IN提高语句简洁度
②IN列表的值类型必须一致或者兼容
③不支持通配符
案例一:查询员工的job_id是IT_PROG、AD_VP、AD_PRES中的last_name和job_id
SELECT last_name, job_id FROM employees WHERE job_id IN('IT_PROT','AD_VP','AD_PRES');
4.IS NULL
案例一:查询没有奖金的员工和奖金率
SELECT last_name, commission_pct FROM employees WHERE commission_pct IS NULL; #'='号不能判断NULL值
或使用: <=>安全等于
功能:可以判断NULL值,也可以判断 数值,但是可读性差
SELECT last_name, commission_pct FROM employees WHERE commission_pct <=> NULL;