- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章使用Transact_SQL语言
Select语句查询 ; 例如:按类别显示课程信息,并计算每类课程的平均报名人数。
; GROUP BY子句在被定义的数据的基础上建立比较小的组,即按照分组表达式对某一列或多列的数据进行分组,将数据值相同的分为一组,并且对每一个组进行聚合函数计算。换句话说,它产生每一组的总体信息。
;使用GROUP BY子句时,应该注意以下问题:
(1) GROUP BY子句子句不能使用聚合函数。
(2)当select语句中包含有where子句和order by 子句时,group by子句只能放在这两个子句的后面。
(3)必须在group by 子句中列出select选择列表中的数据项。当使用group by子句进行分组时,select语句的列表中所选择的列一定是group by子句后面的分组依据列或聚合函数。;2.1 Transact-SQL概论
2.2 查询与统计数据
2.3 编辑用户表数据;Transact-SQL语言主要组成部分 ;数据定义语言(DDL);数据操纵语言(DML) ;数据控制语言(DCL); 2.2 查询与统计数据; 案例2.1 在student表中查询学号为“000000001”同学的学号和姓名。;USE Xk
GO
SELECT StuNo,StuName
FROM Student
WHERE StuNoGO; 案例2.2 从课程表(course)中查询课程类别,要求清除值相同的那些行。;USE Xk
GO
--消除Kind列值都相同的那些重复行
SELECT DISTINCT Kind
FROM Course
GO
--消除Kind列和Credit列值都相同的那些重复行
SELECT DISTINCT Kind,Credit
FROM Course
GO; 使用top n【percent】仅返回前n行; 案例2.3 从学生表sudent中查询所有的信息,要求只显示查询结果的前6行数据。;USE Xk
GO
SELECT TOP 6 *
FROM Student
GO; 改变查询结果列的标题 ; 案例2.4 查询课程表course中课程编号、课程名称、教师、上课时间、限制选课人数和报名人数,要求结果显示如下:
;--方法1,在查询窗口中执行如下SQL语句:
USE Xk
GO
SELECT 课程编码=CouNo,课程名称=CouName,教师=Teacher,上课时间=SchoolTime,
限制选课人数=LimitNum,报名人数=WillNum
FROM Course
GO;--方法3,在查询窗口中执行如下SQL语句:
USE Xk
GO
SELECT CouNo AS 课程编号,CouName AS 课程名称,
Teacher AS 教师,SchoolTime AS 上课时间,
LimitNum AS 限制选课人数, WillNum AS 报名人数
FROM Course
GO; 使用where限制查询条件 ; 案例2.5 在课程表中查询课程类别为“信息技术”而且学分为2的课程信息。; 表达式作为查询列 ;; 使用order by子句重新排序查询结果 ;;--(1)ORDER BY后面为列名
USE Xk
GO
SELECT *,WillNum/LimitNum 报名人数与限选人数之比
FROM Course
ORDER BY WillNum
GO; 使用in子句给出列值范围 ;;--(1)ORDER BY后面为列名
USE Xk
GO
SELECT *,WillNum/LimitNum 报名人数与限选人数之比
FROM Course
ORDER BY WillNum
GO; 使用like实现模糊查询 ;;; 使用is null 查询指定列表未输入值的数据行 ;; 查询某一范围内的信息 ;; 使用compute进行计算 ;聚合函数;;compute by子句
compute by子句对by后面给出的列进行分组显示,并计算该列的分组小计。
在使用compute by之前必须先使用order by对compute by中指定的列进行排序;; 使用group by 分组汇总查询结果;;;注意:
使用group by 子句时,在select子句中出现的列名或者出现在聚合函数中,或者出现在group by子句的后面,否则,在执行语句时就会出错
文档评论(0)