MySQL之条件查询

2. 条件查询

syntax: select 查询列表 from 表名 where 筛选条件; (where当后面成立的话进行显示)

执行顺序是:1.查看表名 2.where 3. select

筛选条件:(分类)

1. 按条件表达式筛选

条件运算符: > < =(等于) <>(不等于 !=效果一样) >= <=

2. 按逻辑表达式筛选

逻辑运算符 and(与 &&) or(或者||) !(非 not)

select * from employees where employee_id > 100 or employee_id >10;

3. 模糊查询
  1. like(像) 一般和通配符搭配使用 可以判断字符型和数值型

    通配符: % 任意多个字符,包括0个字符 _(下划线) 任意单个字符

    syntax: select 查询列表 from employees where last_name like ‘%a%’

    查询员工名字中包含字符a abc可以匹配 aas也可匹配

    注意:如果刚好匹配的是_(下划线)可以使用 \(反斜杠)来进行转义

    也可以使用escape关键字进行转义

    last_name like ‘_$_’ escape ‘$’; 这个意思是将$作为转义符号来使用 所以这里$和\的效果就是一样的

  2. between and (在。。。之间) 提高语句简洁度

    查询员工编号在100-200之间的员工信息

    select * fromemployees where emplpyee_id between 100 and 200; (与 <= and >= 一样效果)

    注意事项:

    1. 包含临界值
    2. 两个临界值不能调换顺序(因为等价于条件判断)
  3. in 判断起字段的值是否属于 in 列表中的某一项

    特点:

    1. 使用 in 提高语句的简洁度
    2. in 列表的值类型必须统一或兼容(可以隐式转换 “123” 转换为123)

    syntax: where job_id in (‘it_prog’, ‘ad_vp’);

    和 job_id = “it_prog” or iob_id = “ad_vp” (效果相同)

    特点:不支持通配符

  4. is Null 或 is not Null

    和前边的isNull不相同

    = 或 <> 不可以用来判断Null

    is Null 或 is not Null 可以用来判断Null

    syntax: where commission_pct is Null;

  5. <=> 安全等于

    其实就是比 = 功能根据强大

    可以用来判断Null 也可以判断一般的 = 等于

    syntax: where commission_pct <=> Null

少年易老学难成,一寸光阴不可轻

你可能感兴趣的:(mysql,mysql,数据库,database)