- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                GROUP BY子句(续) [例3.46]  求各个课程号及相应的选课人数。      SELECT Cno,COUNT(Sno)      FROM    SC      GROUP BY Cno;?      查询结果可能为:                     Cno     COUNT(Sno)  			1             22     			2             34      		3             44   			4             33        		5             48 GROUP BY子句(续) [例3.47]  查询选修了3门以上课程的学生学号。       SELECT Sno      FROM  SC      GROUP BY Sno      HAVING  COUNT(*) 3;      ? ? GROUP BY子句(续) [例3.48 ]查询平均成绩大于等于90分的学生学号和平均成绩 下面的语句是不对的:     SELECT Sno, AVG(Grade)     FROM  SC     WHERE AVG(Grade)=90     GROUP BY Sno;  因为WHERE子句中是不能用聚集函数作为条件表达式 正确的查询语句应该是:     SELECT  Sno, AVG(Grade)     FROM  SC     GROUP BY Sno     HAVING AVG(Grade)=90;  GROUP BY子句(续) HAVING短语与WHERE子句的区别: 作用对象不同 WHERE子句作用于基表或视图,从中选择满足条件的元组 HAVING短语作用于组,从中选择满足条件的组。 参见爱课程网 数据库系统概论 数据查询节    动画《GROUP BY子句》 * 数据查询 SELECT子句:指定要显示的属性列 FROM子句:指定查询对象(基本表或视图) WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。 HAVING短语:只有满足指定条件的组才予以输出 ORDER BY子句:对查询结果表按指定列值的升序或降序排序   3.4  数据查询  3.4.1 单表查询 3.4.2 连接查询 3.4.3 嵌套查询 3.4.4 集合查询 3.4.5基于派生表的查询 3.4.6 Select语句的一般形式    3.4.1  单表查询  查询仅涉及一个表 1.选择表中的若干列 2.选择表中的若干元组 3.ORDER BY子句 4.聚集函数 5.GROUP BY子句 1.选择表中的若干列 查询指定列  	[例3.16]  查询全体学生的学号与姓名。 		SELECT Sno,Sname 		FROM Student;? ? 	[例3.17]  查询全体学生的姓名、学号、所在系。 		SELECT Sname,Sno,Sdept 		FROM Student; 选择表中的若干列(续) 查询全部列 选出所有属性列: 在SELECT关键字后面列出所有列名  将目标列表达式指定为  *  [例3.18]  查询全体学生的详细记录 SELECT  Sno,Sname,Ssex,Sage,Sdept  FROM Student;  或 SELECT  * FROM Student;  查询经过计算的值  SELECT子句的目标列表达式不仅可以为表中的属性列,也可以是表达式 [例3.19]  查全体学生的姓名及其出生年份。 SELECT Sname,2014-Sage          /*假设当时为2014年*/ FROM Student; 输出结果:             Sname   2014-Sage                李勇         1994                刘晨         1995                王敏         1996                张立         1995  查询经过计算的值(续) [例3.20] 查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示系名。  SELECT Sname,Year of Birth: ,2014-Sage,LOWER(Sdept) FROM Student;  输出结果:   Sname   Year of Birth:  2014-Sage   LOWER(Sdept)         李勇    Year of Birth:    1994       	cs       刘晨    Year of Birth:    1995
                
原创力文档
                        

文档评论(0)