MySQL_条件查询
程序员文章站
2022-03-09 10:41:06
...
一、条件查询
语法
执行顺序
SELECT
查询列表 3
FROM
表名 1
WHERE
筛选条件; 2
分类
一、条件查询
1.简单条件运算符:> < = >= <= 不等两种写法:!= <>
一般用于 大于多少 小于多少 不等于什么
二、模糊查找
1.复杂条件运算符:like 、 between and 、 in 、 is null 、 is not null
字符串 LIKE ‘ ’ ( AND ‘ ’ ) 需要连接用 AND OR,但NOT加在LIKE前
字符串 BETWEEN 数值1 AND 数值2 (数值1 <= 数值2)
字符串 IN ( ‘数或串’1, ‘数串2’, ‘数串3’ ) 需写小括号,且数或串必须兼容
字符串 IS NULL 判断是否为null
字符串 IS NOT NULL 判断是否为null
三、逻辑表达式查找
1.逻辑运算符:作用:用于连接条件表达式
&& || !
and or not (推荐使用)
(多个连接是最好用括号,增强可读性,不易出错)
二、三种条件查询的类型
1.按条件表达式筛选
案例1:查询工资>12000的员工
案例2:查询部门编号不等于90号的员工名和部门编号
2.按逻辑表达式筛选
案例1:查询工资在10000到20000之间的员工名、工资以及奖金
案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息
3.模糊查询
LIKE
若要查询的字符是'%'或'_' 只需在前面加转义符号 '\'
%表示通配符,不限字数;_表示一个字数的通配符
案例1:查询员工名中包含字符a的员工信息
案例2:查询员工名中第三个字符为n,第五个字符为l的员工名和工资
案例3:查询员工名中第二个字符为_的员工名
ESCAPE关键字
'_str_' ESCAPE 'str'
关键字后的字符(str)可以为任意字符
作用:把str后的第一个符号转义。
BETWEEN AND
①使用between and 可以提高语句的简洁度
②包含临界值
③AND左边的值必须小于右边的值,但颠倒不会报错
案例1:查询员工编号在100到120之间的员工信息
IN
含义:判断某字段的值是否属于in中的某一项
特点:
①使用in提高语句简洁度
②in列表中的值类型必须一致或兼容
③不支持使用通配符
案例:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
IS NULL
=或<>不能用于判断null值
is null 和is not null可以判断null值
案例1:查询没有奖金的员工名和奖金率
IS NOT NULL
案例1:查询有奖金的员工名和奖金率
安全等于 <=>
案例1:查询没有奖金的员工名和奖金率
案例2:查询工资为12000的员工信息
两者比较:
IS NULL : 仅仅可以判断NULL值,可读性较高,建议使用
<=> : 既可以判断NULL值,有可以判断普通类型的数值,可读性较低