本人已参与「新人创作礼」活动,一起开启掘金创作之路。
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情
目录
今天阿文介绍的内容为:
- LIKE关键字
- IS NULL关键字
- AND 和 OR 多个条件表达式连用
- ORDER BY关键字
1.带LIKE的字符匹配查询
LIKE操作符用来查询包含某个字符的数据,需要使用通配符进行匹配查找。
通配符的介绍:
-
- 通配符
"%": 匹配任意长度的字符,甚至包括零字符
- 通配符
-
- 通配符
"_":一次只能匹配任意一个字符
- 通配符
语法格式如下:
SELECT 字段1,字段2,...,字段n FROM 表名 WHERE 字段x LIKE '%d_';
- 表示匹配字段x中倒数第二个字母是字符d的数据。
例如:
SELECT * FROM fruits WHERE f_name LIKE '%g_';
查询结果为:
2.查询空值
空值一般表示数据未知,不同于0和空字符串。在SELECT语句中使用IS NULL子句,可以查询某字段的空记录。
语法格式如下:
SELECT 字段1,字段2,...,字段n FROM 表名 WHERE 字段x IS NULL;
例子:
SELECT * FROM fruits WHERE f_name IS NULL;
查询结果为:
因为在fruits表中没有f_name字段为NULL的数据,所以没有查询出任何数据。
3.带AND的多条件查询
在使用SELECT查询时,有时有多个约束条件,这时我们使用关键字AND将所有约束条件连接在一起。
语法格式如下:
SELECT 字段1,字段2,...,字段n FROM 表名 WHERE 约束条件1 AND 约束条件2 AND 约束条件3;
例子:
SELECT * FROM fruits WHERE f_price > 5 AND f_price < 10;
查询结果为:
可以看到所以f_price在5到10之间的数据全部查询出来了。
4.带OR的多条件查询
与AND相反,在WHERE声明中使用OR操作符,表示只需要满足其中一个条件的记录即可返回。
语法格式如下:
SELECT 字段1,字段2,...,字段n FROM 表名 WHERE 约束条件1 OR 约束条件2 OR 约束条件3;
例子:
SELECT * FROM fruits WHERE f_price > 10 OR f_price < 5;
查询结果为:
提示:OR可以和AND一起使用,但是在使用时要注意两者的优先级,由于AND的优先级高于OR,因此先对AND两边的操作数进行操作,再与OR中的操作数结合。
5.查询结果不重复
在查询数据时,有时会出现许多重复的数据,我们需要消除重复的数据,这时可以使用DISTINCT关键字指示MySQL消除重复的数据。
语法格式如下:
SELECT DISTINCT 字段名 FROM 表名;
例子:
SELECT DISTINCT s_id FROM fruits;
查询结果为:
6.对查询结果排序
对于我们上述查询出来的数据都是无序的,我们可以使用ORDER BY子句对查询结果进行排序。
6.1单列排序
语法格式如下:
SELECT 字段1 FROM 表名 ORDER BY 字段1;
例子:
SELECT * FROM fruits ORDER BY f_price;
查询结果为:
6.2多列排序
有时,需要根据多列值进行排序。比如,如果要显示一个学生列表,可能会有多个学生的姓氏是相同的,因此还需要根据学生的名进行排序。对多列数据进行排序,要将需要排序的列之间用逗号隔开。
语法格式如下:
SELECT 字段1,字段2,... FROM 表名 ORDER BY 字段1,字段2,...;
例子:
SELECT * FROM fruits ORDER BY f_price, s_id;
查询结果为:
提示:在对多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。如果第一列数据中所有值都是唯一的,将不再对第二列进行排序。
6.3指定排序方向
在默认情况下,查询数据按字母升序进行排序(AZ),也可以使用关键字DESC实现降序排序(ZA)。与DESC相反的是ASC(升序),将字段列中的数据按字母表顺序升序排列。实际上,在排序的时候ASC是默认的排序方式,所以加不加都可以。
语法格式如下:
SELECT 字段1,字段2,... FROM 表名 ORDER BY 字段1 DESC,字段2;
例子:
SELECT * FROM fruits ORDER BY f_price DESC;
输出结果为:
提示:DESC关键字只对其前面的列进行降序排序,在这里只有字段1是降序排序,而字段2还是默认升序排序,如果要对多列都进行降序排序,必须要在每一列的列名后面加DESC关键字。
总结
- LIKE用于字符串的匹配
- IS NULL用于查找数据表中的空值
- AND 和 OR可以连接多个条件表达式
- ORDER BY可以实现查询数据排序,DESC是降序,ASC是升序
好了,阿文今天就介绍到这了...