语法:SELECT 列名 FROM 表名 WHERE 条件

WHERE 条件:在查询结果中,筛选符合条件的查询结果,条件为布尔表达式

  1. 等值判断

    1. # 查询薪资是10000的员工
    2. SELECT employee_id, first_name, salary
    3. FROM t_employees
    4. WHERE salary = 10000;
  2. 逻辑判断(AND OR NOT)

    # 查询新姿是10000并且提成是0.3的员工信息
    SELECT employee_id, first_name, salary
    FROM t_employees
    WHERE salary = 10000 AND commision_pct=0.3;
    
  3. 不等值判断(>、<、<=、>=、!=、<>)

!= 和 <> 都表示不等于

# 查询薪资是8000到10000之间的员工
SELECT employee_id, first_name, salary
FROM t_employees
WHERE salary >= 8000 AND salary <= 10000;
  1. 区间判断

    # 查询薪资是8000到10000之间的员工
    SELECT employee_id, first_name, salary
    FROM t_employees
    WHERE salary BETWEEN 8000 AND 10000;
    # 从小到大 小值在前 大值在后
    
  2. NULL 值判断(IS NULL、IS NOT NULL)

    # 查询没有提成的员工
    SELECT employee_id, first_name, salary, commision_pct
    FROM t_employees
    WHERE commision_pct IS NULL;
    
  3. 枚举查询(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);
  1. 模糊查询 ```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;