使用WHERE子句:
检索所需数据需要制定搜索条件,搜索条件也成为过滤条件。
在SELECT语句中,数据根据WHERE子句中制定的搜索条件进行过滤,WHERE子句在表名(FROM子句)之后给出。
(1)相等测试(检查一个列是否具有制定的数据进行过滤)
ORDER BY位于WHERE之后,否则会出现错误。
x
WHERE子句操作符:
- = 等于;
- <> 不等于、 != 不等于
- < 小于、<= 小于等于
- > 大于、>=大于等于
- BETWEEN 在制定的两个值之间
MySQL 早匹配时默认不区分大小写。
不匹配检查:
关于何时使用 引号:
单引号用来限定字符串,如果将值与串类型的列进行比较,则需要限定引号。
范围值检查:
(为了检查某个范围的值,可以使用BETWEEN操作符。)
使用BETWEEN时,一定要制定所需范围的低端值和高端值,用AND隔开。
空值检查
NULL它与字段包含0、空字符串 或仅仅包含空格是不同的。
在过滤数据时一定要验证返回数据中确实给出了被过滤列具有NULL的行。
-------------高级过滤
MySQL允许给出多个WHERE子句,进行更强的过滤控制:以AND子句的方式或者OR子句的方式使用。
WHERE可以包含任意数目的AND和OR操作,允许两者结合以进行复杂和高级的过滤。
SQL(想大多数语言一样)在处理OR操作符前,有限处理了AND操作符。所用圆括号明确地分组相应的操作符。
IN操作符用来制定条件范围,范围中的每个条件都可以进行匹配,IN 取合法值得由都好分割的清单,全都在圆括号里面(这一点和python很像。)
IN操作符优点:
- 更加清楚和直观
- 计算的次序容易管理
- IN操作符一般比OR操作符清单执行更快
- 可以包含其他SELECT语句,更动态地简历WHERE子句。
-------------------------------------------
用通配符进行过滤:
通配符:用来匹配值得哦不分的特殊字符。(可以在任意位置使用,并且可以使用多个通配符)
搜索模式:由自勉之、通配符或者两者组合构成的搜索条件。
为了在搜偶所子句中使用通配符,不必须使用LIKE操作符。(区分大小写)
%通配符:%表示任何字符出现的任意次数。
搜索是区分大小写的。 ‘jet%’找出所有以词jet起头的产品。
_通配符 和% 作用类似,但是_ 只能匹配单个字符而不是多个字符。(只能是一个,不能多也不能少)
比较一下% 和-
使用通配符的技巧:
- 能不用通配符就用
- 非要用时,不要把它们放在搜索模式的开始处,这样的搜索是最慢的。
- 注意通配符的放置位置