设为首页 - 加入收藏 - 网站地图 亿度网(nikest.com),天道酬勤,努力奋斗!
当前位置:主页 > 技术文档 > 正文

 

 

聚合函数:sum,avg,max,min,count;模糊查询;排序

时间:2015-03-19 22:21 作者:未知

 

 

----聚合函数 --做计算 做统计 对null过滤:null是指不知道什么值,所以无法做计算
--sum(参数):统计和
--avg(参数):求平均值
--max(参数):最大值
--min(参数):最小值
--count(参数):获取满足条件的记录数
--1.获取学员总人数
select COUNT(Email) from Student
--2.获取最大的年龄值 年龄值越大,年龄越小 年龄值越小,年龄越大
select MAX(BornDate) from Student
select min(BornDate) from Student
--3.求科目ID为1的考虑平均分
select AVG(StudentResult) from Result
--获取学号为2 的学员的考试总分
select SUM(StudentResult) from Result where StudentNo=2

---说明:参数的要求
count:*,字段,常量值,会过滤掉null
max..min:可以对任意类型的数据进行聚合,如果是非数值,那么就会按 数字字母等 的排序进行聚合
select MAX(Email) from Student where Email is not null
select min(StudentName) from Student
--sum..avg只能对数值类型进行聚合,对日期值都不可以
select AVG(ExamDate) from Result
select AVG(StudentName) from Student

--带条件的查询--where
--查询年龄在1990---1998之间的学员信息
select * from Student where BornDate='1990-12-31' and BornDate='1997-1-1'
--数值或者日期范围也可以使用between and 相当于 = = 做了内部优化。效率更高
select * from Student where BornDate between '1990-12-31' and '1997-1-1'

--查询班级ID为 1,2,3,4,5的学员信息
select * from Student where ClassId =1 or ClassId=2 or ClassId=3 or ClassId=4 or ClassId=5
--指定一个具体的范围可以使用in in里面包含的数值类型需要一致
select * from Student where ClassId in (1,2,3,4,'a')
--查询班级id不是12345的学员信息
select * from Student where ClassId 1 and ClassId2 and ClassId3 and ClassId4 and ClassId5
select * from Student where ClassId not in (1,2,3,4,'5')

--模糊查询
--查询 张 姓 学员 =是严格的内容匹配
select * from Student where StudentName='张'
--通配符:
--%:.* *:代表任意个任意字符
--_:代表任意一个字符
--[]:可以代表一个指定范围或者值的字符 [0-9a-zA-Z] [13579]
--[^]:取范围之外的一个值
select * from Student where StudentName='张%'
--通配符必须在模糊查询中才是有特殊意义的通配符 必须使用关键字:like:像。。。。一样
select * from Student where StudentName like '%张%'
select * from Student where StudentName like '张__'
--查询学号在11~15号之间的学员信息
select * from Student where StudentNo like '1[1-5]'
select * from Student where StudentName not like '张%'
select * from Student where StudentName like '%文%'

--null是指不知道什么值,所以对null不能做计算 判断的时候使用is null is not null
--ISNULL()函数的使用:如果是null就使用自定义的字符串进行显示的替换
select StudentName,ISNULL(Email,'没有填写电子邮件') from Student where ClassId=2


--数据排序:只是对查询出来的结果集做记录的重排
--select 字段列表/* from 表列表 where 条件 Order by 排序字段列表 默认是升序 asc 降序:desc
select * from Student order by sex asc ,StudentNo desc

--1.查询六期班所有姓 陈 的学员-student
select ClassId from Classes where classname='七期班'

 

 

上一篇:设计模式的原则 抽要理解
下一篇:没有了