数据查询管理
在数据库视频中我们可以看到,视频用了两章来讲述查询的操作,足以说明查询是很重要的一点,下面我就来总结一下自己的认识。
设置查询条件
精确查询SELECT*FROM 学生信息WEHERE 姓名='张苗苗'
where关系并列用and 同时用or SELECT*FROM学生信息 WHERE 民族='汉族' AND 性别='女'
不是只能用=,也可以用like SELECT*FROM学生信息 WHERE 家庭住址 LIKE '河南'
先来说一下函数:
SUM 求和
AVG 平均值
Top3 前三行
ASC 升序
DESC 降序
排序
用order by进行排序 DESC降序进行排序。
如果分数相等,再对学生编号进行排序,语句如下
SELECT*FROM 成绩信息WHERE 考试编号='0801' AND 课程编号='1'
ORDER BY 分数 DESC ,学生编号 DESC
AVG平均值 GROUP BY
rollup是对所有数据的平均值,cube同样是
SELECT考试编号,课程编号,AVG(分数) FROM 成绩信息 GROUP BY rollup (考试编号,课程编号)
不同点:
CUBE 生成的结果集显示了所选列中值的所有组合的聚合。
ROLLUP生成的结果集显示了所选列中值的某一层次结构的聚合
ROLLUP就是将GROUP BY后面的第一列名称求总和,而其他列并不要求,而CUBE则会将每一个列名称都求总和
一些语法语句
INsert语法
INSERT INTO学生信息(。。。) VALUES(。。。)
INsert...select语句
INSERT 学生信息
SELECT*FROM 学生信息 where 家庭住址 like '河南'
Select…into语句:新建数据表,将数据保存到新的数据表中
语法格式:
Select
Into new_table 保存的新的表名
select *
into #student
from 学生信息
where性别='男'
TOP关键字和TOP表达式:
TOP后面跟具体的数值(expression)或百分比【percent】
With ties 将最后一条记录与order by排序,与最后一条记录相等的都排序出来
表示查询前十条记录:SELECT top 10 * FROM 成绩信息
查询百分之十的记录:select top 10 percent * from 成绩查询
显示前六行数据:select top (6) with ties * from 成绩信息 order by 分数
如果第六行的数据与下面的分数相同,则显示的数据不止六行
修改前六行学生信息民族为满族update top (6) 学生信息 set 民族='满族'
COMPUTE子句:
对查询结果进行合计
Compute …by语句前面必须跟着一个排序order by先对数据进行排序
感谢您的光临,期待您的指导。