语法:SELECT 列名 FROM 表名 WHERE 条件
WHERE 条件:在查询结果中,筛选符合条件的查询结果,条件为布尔表达式
等值判断
# 查询薪资是10000的员工SELECT employee_id, first_name, salaryFROM t_employeesWHERE salary = 10000;
逻辑判断(AND OR NOT)
# 查询新姿是10000并且提成是0.3的员工信息 SELECT employee_id, first_name, salary FROM t_employees WHERE salary = 10000 AND commision_pct=0.3;不等值判断(>、<、<=、>=、!=、<>)
!= 和 <> 都表示不等于
# 查询薪资是8000到10000之间的员工
SELECT employee_id, first_name, salary
FROM t_employees
WHERE salary >= 8000 AND salary <= 10000;
区间判断
# 查询薪资是8000到10000之间的员工 SELECT employee_id, first_name, salary FROM t_employees WHERE salary BETWEEN 8000 AND 10000; # 从小到大 小值在前 大值在后NULL 值判断(IS NULL、IS NOT NULL)
# 查询没有提成的员工 SELECT employee_id, first_name, salary, commision_pct FROM t_employees WHERE commision_pct IS NULL;枚举查询(IN(值1,值2,值3))
查询效率较低,可通过多条件来查询
# 查询部门编号为60、70、80的员工信息
SELECT employee_id, first_name, salary, commision_pct
FROM t_employees
WHERE department_id IN (60, 70, 80);
- 模糊查询
```sql
查询名字以“L”开头的员工信息
SELECT employee_id, first_name, salary, commision_pct FROM t_employees WHERE first_name LIKE ‘L%’;
查询名字以“L”开头的、长度为4的员工信息
SELECT employeeid, firstname, salary, commisionpct FROM t_employees WHERE first_name LIKE ‘L‘;
8. 分支结构查询
```sql
# 查询员工信息(编号、名字、薪资、薪资级别<对应条件表达式生成>)
SELECT employee_id, first_name, salary
CASE
WHEN salary >= 10000 THEN 'A'
WHEN salary < 10000 AND salary >= 8000 THEN 'B'
WHEN salary < 8000 AND salary >= 6000 THEN 'C'
WHEN salary < 6000 AND salary >= 4000 THEN 'D'
ELSE 'E'
END as 'level'
FROM t_employee;
