详解MySql基本查询、连接查询、子查询、正则表达查询

2019-01-05 09:47:05王旭
select * from STUDENT where STU_NAME LIKE '%王';

表示匹配任何以王结尾的

select * from STUDENT where STU_NAME LIKE '阿%';

表示匹配任何以阿开头的

_ 单个字符

比如说插入

select * from STUDENT where STU_NAME LIKE '阿%';

然后

select * from STUDENT where STU_NAME LIKE '阿%';

查询的结果为空

但是如果下后面加两个_符号

select * from STUDENT where STU_NAME LIKE '_下__';

查询结果不为空

“字符串”参数的值可以是一个完整的字符串,也可以是包含百分号(%)或者下划线(_)的通配字符。二者有很大区别
“%”可以代表任意长度的字符串,长度可以为0;
“_”只能表示单个字符。
如果要匹配姓张且名字只有两个字的人的记录,“张”字后面必须要有两个“_”符号。因为一个汉字是两个字符,而一个“_”符号只能代表一个字符。

(4)空值查询

IS NULL关键字可以用来判断字段的值是否为空值(NULL)。如果字段的值是空值,则满足查询条件,该记录将被查询出来。如果字段的值不是空值,则不满足查询条件。其语法规则如下:
IS [ NOT ] NULL
其中,“NOT”是可选参数,加上NOT表示字段不是空值时满足条件。
IS NULL是一个整体,不能将IS换成”=”.

三、使用聚合函数查询数据

3.1、group by 分组
如下:

select * from STUDENT group by STU_SEX;

不加条件,那么就只取每个分组的第一条。

如果想看分组的内容,可以加groub_concat

select STU_SEX,group_concat(STU_NAME) from STUDENT group by STU_SEX;

3.2、一般情况下group需与统计函数(聚合函数)一起使用才有意义
先准备一些数据: