SQL-条件查询

条件查询语法

  1. 执行顺序: Tablename >> condition >>Querylist
1
2
3
4
5
6
Select 
Querylist
From
Tablename
Where
conditional statement;
  • 按条件表达式筛选

    条件运算符:> < = != <> >= <=

    1
    2
    3
    4
    5
    6
    7
    #工资大于12000的员工姓,工号,工资
    select
    last_name,job_id,salary
    from
    employees
    where
    salary > 12000;
  • 按照模糊查询(复杂条件)

    模糊查询关键字:like between and in is null is not null

    • like关键字:

      与SQL通配符一同使用,如 %(任意多个) _(任意单个),_% 的转义符为\

      1
      2
      3
      4
      #寻找含有a的姓名
      select *
      from employees
      where last_name like '%a%';

    可通过 escape指定转义符如: last_name LIKE '_$_%' escape '$';

    • between value1 and value2 关键字:

      等价于department_id>=value1 OR department_id<=value2

      1
      2
      3
      4
      5
      6
      7
      #部门编号在90-110,
      select
      *
      from
      employees
      where
      department_id between 90 and 110 ;

    注意:其中value2>value1,包含边界值。

    • in 关键字

      用于判断 列表中是否存在符合 in 后关键字列表的元素。

      1
      2
      3
      4
      5
      6
      7
      #读取对应工种名单
      select
      *
      from
      employees
      where
      job_id IN ('IT_PROG','AD_VP');

    注意:不能使用通配符,IN列表类型相同/兼容。

    • Is null 与Is not null

      由于 =不能用于 null的比较,故使用此关键字。

      安全等于:<=>可以用于null的比较,通常不使用。

  • 按逻辑表达式筛选

    推荐逻辑关键字:and or not

    1
    2
    3
    4
    5
    6
    7
    #部门编号不在90-110,或工资高于15000
    select
    *
    from
    employees
    where
    department_id>110 OR department_id<90 OR salary>15000;