数据汇总 统计 系统函数 表值函数 自己写 自己构建触发器 自己写的函数 调用 聚合函数对数据进行计算 直接调用系统中的函数 如SUM() AVG() MAX() MIN() SELECT 表头 聚合函数COUNT(*) 和COUNT(column_name) 统计行数据个数(元组数) 属性值不为空的有哪些记录
排序 ORDER BY 升序排列可省略 ASC 系统默认
SELECT 列名1【列名2.。。】 FROM 表名 WHERE 条件 ORDER BY Birthday (ASC) 年龄从高到低排序其实是按照brithday 升序
如果ORDER BY后有多列需要排序,按照从左到右的顺序依次排序。 比如ORDER BY Mark.CourseID DESC,Score 先按CourseID值降序排序输出(先按某个属性排列,),如果CourseID值相同,再按Score值的升序
分组 使用聚合函数可以统计各种各样的数据 再进行分组 GROUP BY GROUP BY Mark.CourseID 按照CourseID 值进行分组,值同的为一组 GROUP BY ScholName,Sex 按照SchoolName值和Sex值对数据分组,结果输出每个学院学生的男生女生人数。 多个条件,按从左到右划分(与ORDER BY 相反),先按男女分,再按学院名分 就是,如果GROUP BY 有多个分组,从左到右。。 后面 可再加WITH ROLLUP 输出结果可以多添加一行统计 分组GROUP BY 后可再加HAVING字句 HAVING字句是将分组统计后的结果再统计。如果将HAVING子句替换为WHERE字句,查询结果相同,即先按条件…再分组
子查询(嵌套查询) 无关子查询 先执行内层子查询,再将其结果输出给外层查询 两者的衔接用IN 放在外层查询的WHERE后,即作为条件 IN可用‘=’替换,但前提是子查询的结果是唯一值 多个子查询嵌套 先做最里面的 其实也可以进行连接查询,用连接条件 ALL 统计所有结果 <>为不等于 要查什么,SELECT后面就放什么 ANY (或SOME),ALL,AND 用于相关子查询时,一般是多表子查询,而且只能用在关系运算符之后 选择条件 连接条件 相关子查询 查一次就进入一子查询
在SQLSever 中进行操作,进行加深记忆 应用SELECT语句对数据库 eshop中数据进行指定条件的高级查询。 修改后 通过深度学习知道,数据查询还涉及了嵌套查询和集合操作的使用,较之基本查询技巧性更强,实现的功能更复杂。嵌套查询使用关键字IN,判断某数据是否属于查询结果集合;也使用EXISTS/NOT EXISTS,判断数据元组是否满足某查询结果;使用FROM子句嵌套,直接将查询结果作为一个表处理。同时,嵌套查询往往和聚集函数、连接查询配合使用。 集合操作的方法,将两个查询结果作为结果,可以找到它们的并、交、差集合,从而找到满足条件的数据集合。
|