1.简单搜索条件
我们需要把搜索条件放在WHERE
子句中,然后将
WHERE
子句放到FROM
子句的后面。
WHERE
中支持的比较运算符有:
运算符 | 示例 | 描述 |
---|---|---|
= | a=b | 等于 |
<=> | a<=>b | 等于 |
<>或!= | a<>b | 不等于 |
< | a<b | 不等于 |
<= | a<=b | 不等于 |
> | a>b | 不等于 |
>= | a>=b | 不等于 |
BETWEEN | a BETWEEN b AND c | a的值必须满足b<=a<=c |
NOT BETWEEN | a NOT BETWEEN b AND c | a的值必须不满足b<=a<=c |
2.匹配列表中的元素
运算符 | 示例 | 描述 |
---|---|---|
IN | a IN (b1, b2, …) | a是b1,b2…中的某一个 |
NOT IN | a NOT IN (b1, b2, …) | a不是b1,b2,…中的任意一个 |
3.匹配NULL
为某一列填入NULL
意味着这一列的值尚未确定。在判断某一列的值是否为NULL
的时候,并不能单纯地使用=
运算符,而需使用专门判断列是否是NULL
的运算符。
运算符 | 示例 | 描述 |
---|---|---|
IS NULL | a IS NULL | a的值是NULL |
IS NOT NULL | a IS NOT NULL | a的值不是NULL |
4.多个搜索条件
_1.AND
运算符
_2.OR
运算符
_3.更复杂的搜索条件的组合
AND
优先级高于OR
。为避免混乱,在一个查询中有多个搜索条件时,最好用小括号来显式地指定各个搜索条件的检测顺序。
如:SELECT * FROM student_score WHERE (score > 95 OR score < 55) AND subject = 'Mysql是怎样运行的';
_4.通配符
运算符 | 示例 | 描述 |
---|---|---|
LIKE | a LIKE b | a匹配b |
NOT LIKE | a NOT LIKE b | a不匹配b |
既然我们不能完整描述要查询的信息,就用某个符号来替代这些模糊的信息,这个符号就称为通配符。MySQL
支持下面这两个通配符。
(1).%
:代表任意数量的字符,0
个字符也可以
如:SELECT name FROM student_info WHERE name LIKE '狗%';
如:SELECT name FROM student_info WHERE name LIKE '%甘%';
(2)._
:代表任意一个字符
通配符不能代表NULL
,如需匹配NULL
,则需使用IS NULL
或IS NOT NULL
。
_5.转义通配符
如果待匹配的字符串中本身就包含普通字符’%
‘或者’_
‘该咋办,如何区分它是一个通配符还是普通字符?
解决办法是在它们前面加一个反斜杠(\
)来和通配符区分开来。即:
(1).’\%
‘代表普通字符’%
’
(2).‘\_
‘代表普通字符’_
’