文章目录
MySQL 条件查询
1.条件查询语法
select 查询列表 from 表名 where 筛选条件;
2.条件查询分类
按条件表达式筛选
条件运算符:> < = != <> >= <= (不等于有两个,!= 和 <>,推荐用<>);
按逻辑运算符筛选
逻辑运算符: && || ! and or not (推荐使用and or not);
逻辑运算符用来连接条件。
&& 和 and:两个条件都为true,结果为true,反之为false;
|| 和 or:只要有一个条件为true,结果为true,反之为false;
! 和 not:如果连接的条件本身为false,结果为true,反之为false;
模糊查询
like、between and、in、is null;
3.条件运算符的使用
例一:查询员工工资大于12000的员工信息
例二:查询部门编号不等于90号的员工名和部门编号
查询结果中没有部门编号为90的。
4.按逻辑表达式筛选
例一:查询工资在10000和12000之间的员工名、工资以及奖金。
例二:查询部门编号不是在90到110之间,或者工资高于15000的员工信息
5.模糊查询
5.1 like
1)一般和通配符搭配使用
通配符:
% 任意多个字符,包含0个字符。
_ 任意单个字符。
2)如果要查询的信息中包含特殊字符如要用转义字符
①用 \ 进行转义。
②用 ESCAPE 关键字指定转义字符,如last_name LIKE ’ $ _%’ ESCAPE ‘$’;就是指定 $作为转义字符,在这里 $ 也可以换成别的字符。
例一:查询员工名中包含字符a的员工信息。
例二:查询员工名中第三个字符为l,第5个字符为m的员工名和工资。
例三:查询员工名中第二个字符为_的员工名。
①用 \ 进行转义。
②用 ESCAPE 关键字指定转义字符。
5.2 between and
1)使用between and可以提高语句的简洁度
2)包含两个临界值
3)两个临界值不能调换顺序
例如:查询员工编号在100到120之间的员工信息。
我们可以用逻辑运算符 and,但是我们发现用and会不会比较繁琐,这时就可以用between and
用between and
between and 是等同于 and 连接两个条件的,所以两个临界值不可以调换顺序。
5.3 in
判断某字段的值是否属于in列表中的某一项。
特点:
1)使用in提高语句简洁度。
2)in列表的值类型必须或兼容。
例如:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES、SH_CHERK中的一个员工名和员工编号。
我们可以使用逻辑运算符OR,当连接的条件越来越多的时候就会显得语句特别的繁琐,冗余。
使用in提高语句的简洁度。
注意:in中不可以使用通配符,因为in相当于=。
5.4 IS NULL 和 IS NOT NULL
在MySQL语句中不能使用 = 和 <> 来判断是否为null,可以通过IS NULL和 IS NOT NULL来判断是否为null。
例如:查询没有奖金的员工名和奖金率。
5.5 安全检测<=>
1)安全检测也可以判断是否为null如下
2)安全检测也可以判断普通的数值如下