模糊查询
。_:任意一个字母
。%:任意0~n个字母
查询姓名由5个字母构成名字:select * from 表名 where 列名 like “_____”;
查询以m开头的学生:select * from 表名 where 列名 like “m”;
查询名字由5个字母构成,并且 第五个字母为s:select * from 表名 where 列名 like“____s”;
查询名字中第二个字母为u的:select * from 表名 where 列名 like “_u%”;
查询名字中包含s字母:select * from 表名 where 列名 like “%s%”;
查询名字里面有 z s l :select * from 表名 where 列名 like ”[zsl]“;
查询名字去除重复:select distinct 列名 from 表名;
查询所有内容,又添加新列为年龄和性别:select * ,年龄+性别 from 表名;
把查询字段的结果进行运算,必须都要是数值型:select *,列名1+列名2 from 表名;
把null转化成数值0的函数ifnull:select *,age+ifnull(score,0) from 表名;
在上面查询列名为sx+ifnull(yw,0),这很不美观,现在给列起个别名,为total:select *,sx+ifnull(yw,0) AS total from 表名; AS可以省略
排序
关键词 order by
排序类型(默认是asc)
升序asc从小到大
降序desc 从大到小
select * from 表名 order by 列名工资 desc;
聚合函数
对于查询结果进行运算
常用聚合函数
count():统计指定列不为null的行数
max():计算指定列的最大数值,如果指定列是字符串类型,那么使用字符串排序运算
min():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
sum():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0
avg():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0
查询表中记录数:select count(*) from 表名;
查询员工表中有效的人数:select count(列名) from 表名;
查询员工表中月薪大于2500的人数:select count(*) from 表名 where 列名 > 2500;
统计月薪与绩效之和大于5000元的人数:select count(*) from 表名 where ifnull(列名,0)+ifnull(列名,0)>5000;
查询有绩效的人数,和有管理费的人数:select count(列名),count(列名) from 表名;
查询所有雇员月薪和:select sum(列名) from 表名;
查询所有雇员月薪和,以及所有雇员绩效和:select sum(列名),sum(列名) from 表名;
查询所有雇员月薪+绩效和:select sum(列名+ifnull(列名,0)) from 表名;
统计所有员工平均工资:select avg(列名) from 表名;
查询最高工资和最低工资:select max(列名),min(列名) from 表名;
分组查询
将查询结果按照一个或者多个字段进行分组,字段值相同的为1组(列如:有十个人,女的站一排,男的站一排,把男女进行分组):select 列名 from 表名 group by 列名;
列名 名字性别同时进行分组:select 名字,性别 from 表名 group by 名字,性别;
网友评论