文章目录

  • MySQL 条件查询
  • 1.条件查询语法
  • 2.条件查询分类
  • 按条件表达式筛选
  • 按逻辑运算符筛选
  • 模糊查询
  • 3.条件运算符的使用
  • 4.按逻辑表达式筛选
  • 5.模糊查询
  • 5.1 like
  • 5.2 between and
  • 5.3 in
  • 5.4 IS NULL 和 IS NOT NULL
  • 5.5 安全检测<=>
  • 5.6 对比 IS NULL 和 安全检测<=>


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的员工信息

mysql查询命令多条件 mysql 查询条件_mysql


例二:查询部门编号不等于90号的员工名和部门编号

mysql查询命令多条件 mysql 查询条件_mysql_02


查询结果中没有部门编号为90的。

4.按逻辑表达式筛选

例一:查询工资在10000和12000之间的员工名、工资以及奖金。

mysql查询命令多条件 mysql 查询条件_mysql查询命令多条件_03


例二:查询部门编号不是在90到110之间,或者工资高于15000的员工信息

mysql查询命令多条件 mysql 查询条件_mysql查询命令多条件_04

5.模糊查询

5.1 like

1)一般和通配符搭配使用

通配符:

% 任意多个字符,包含0个字符。

_ 任意单个字符。

2)如果要查询的信息中包含特殊字符如要用转义字符

①用 \ 进行转义。

②用 ESCAPE 关键字指定转义字符,如last_name LIKE ’ $ _%’ ESCAPE ‘$’;就是指定 $作为转义字符,在这里 $ 也可以换成别的字符。

例一:查询员工名中包含字符a的员工信息。

mysql查询命令多条件 mysql 查询条件_database_05


例二:查询员工名中第三个字符为l,第5个字符为m的员工名和工资。

mysql查询命令多条件 mysql 查询条件_mysql_06


例三:查询员工名中第二个字符为_的员工名。

①用 \ 进行转义。

mysql查询命令多条件 mysql 查询条件_数据库_07


②用 ESCAPE 关键字指定转义字符。

mysql查询命令多条件 mysql 查询条件_mysql_08

5.2 between and

1)使用between and可以提高语句的简洁度

2)包含两个临界值

3)两个临界值不能调换顺序

例如:查询员工编号在100到120之间的员工信息。

我们可以用逻辑运算符 and,但是我们发现用and会不会比较繁琐,这时就可以用between and

mysql查询命令多条件 mysql 查询条件_数据库_09


用between and

mysql查询命令多条件 mysql 查询条件_条件查询_10


between and 是等同于 and 连接两个条件的,所以两个临界值不可以调换顺序。

5.3 in

判断某字段的值是否属于in列表中的某一项。

特点:

1)使用in提高语句简洁度。

2)in列表的值类型必须或兼容。

例如:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES、SH_CHERK中的一个员工名和员工编号。

我们可以使用逻辑运算符OR,当连接的条件越来越多的时候就会显得语句特别的繁琐,冗余。

mysql查询命令多条件 mysql 查询条件_mysql查询命令多条件_11


使用in提高语句的简洁度。

mysql查询命令多条件 mysql 查询条件_database_12


注意:in中不可以使用通配符,因为in相当于=。

5.4 IS NULL 和 IS NOT NULL

在MySQL语句中不能使用 = 和 <> 来判断是否为null,可以通过IS NULL和 IS NOT NULL来判断是否为null。

例如:查询没有奖金的员工名和奖金率。

mysql查询命令多条件 mysql 查询条件_数据库_13

5.5 安全检测<=>

1)安全检测也可以判断是否为null如下

mysql查询命令多条件 mysql 查询条件_database_14


2)安全检测也可以判断普通的数值如下

mysql查询命令多条件 mysql 查询条件_database_15

5.6 对比 IS NULL 和 安全检测<=>

mysql查询命令多条件 mysql 查询条件_mysql_16