多语言展示
当前在线:582今日阅读:86今日分享:14

查询语句SELECT的具体用法(三)

在数据库中新建的表存入数据后,就可以查询我们存入的数据,有些时候可能要对查询的数据进行分组、统计,这时候就要用到GROUP BY 和 HAVING >、<、>=、<=、<> !=。可以根据需求检索呈现各种我们需要用到的数据,
工具/原料

ORACLE

GROUP BY
1

GROUP BY 大部分应用于组查询,用于归纳汇总相关数据。他不属于WHERE的子句。也就是说可以在WHERE的后面,当WHERE 默认为空时候,可以直接在FROM的后面

2

基本语法为:GROUP BY {  COLUMN_NAME | { ROLLUP | CUBE  } ( {COLUMN_NAME [, COLUMN_NAME ] .. } )}

3

注释:COLUMN_NAME :表中的字段名ROLLUP | CUBE   :GROUP BY 子句的扩展,可以返回小计和总计记录

4

GROUP BY 通常配合聚合函数一起使用例:查询学生信息表中各个班级语文的平均成绩SELECT studentclass as 班级, AVG(Chinese) as 平均成绩  from Student_Information group by studentclass

5

GROUP BY 也可以配合排序对结果进行排序例:查询学生信息表中各个班级语文的平均成绩,按高到低排序SELECT studentclass as 班级, AVG(Chinese) as 平均成绩  from Student_Information  group by studentclass ORDER BY 2 DESC--排序的具体用法可参照上一篇

HAVING
1

HAVING 通常和GROUP BY 子句一起使用,限制搜索条件。与WHERE 不一样,WHERE 作用于单个值,HAVING 是作用于组。

2

例:查询学生信息表中各个班级语文的平均成绩,显示平均成绩大于90的班级信息SELECT studentclass as 班级, AVG(Chinese) as 平均成绩  from Student_Information  group by studentclass  HAVING  AVG(Chinese)>90

查询语句多条限制
1

查询使用>例:查询语文成绩大于90分的学生信息SELECT * FROM Student_Information WHERE Chinese>90

2

查询使用<例:查询语文成绩大于60分的学生信息SELECT * FROM Student_Information WHERE Chinese<60

3

查询使用<>例:查询除了一年级(1)班外所有学生信息SELECT * FROM Student_Information WHERE studentclass <> '一年级(1)班'也可以使用 !=SELECT * FROM Student_Information WHERE studentclass != '一年级(1)班'

推荐信息