数据库原理与应用锦州师范高等专科学校计算机系内容摘要:

班级 =1 WITH ROLLUP和 WITH CUBE选项 ●使用 WITH ROLLUP和 WITH CUBE选项可以对汇总结果再汇总,生成超级组。 【 例 335】 数据汇总时不使用 WITH ROLLUP和 WITH CUBE选项。 SELECT 班级 ,课程号 ,COUNT(成绩 ) AS 不及格人数 FROM XS_KC WHERE 成绩 60 GROUP BY 班级 ,课程号 2020/11/23 第三章 数据库的查询和试图 【 例 336】 对 【 例 334】 进行数据汇总时使用 WITH ROLLUP选项。 SELECT 班级 ,课程号 ,COUNT(成绩 ) AS 不及格人数 FROM XS_KC WHERE 成绩 60 GROUP BY 班级 ,课程号 WITH ROLLUP 【 例 337】 对 【 例 334】 进行数据汇总时使用 WITH CUBE选项。 SELECT 班级 ,课程号 ,COUNT(成绩 ) AS 不及格人数 FROM XS_KC WHERE 成绩 60 GROUP BY 班级 ,课程号 WITH CUBE 2020/11/23 第三章 数据库的查询和试图 ● 语法格式: SELECT 列名 1[,…n] FROM 表名 1[, …n] WHERE 逻辑表达式 GROUP BY 列名 1[,…n] [ORDER BY{列名 1|列号 1[ASC|DESC]}[,…n]] COMPUTE{聚合函数(列名 1) }[, …n] [BY 列名 1[, …n]] ● 注意事项: ① 如果使用 GROUP BY子句,那么 SELECT子句中指定的列必须在 GROUP BY子句中指定、或是和聚合函数一起使用。 2020/11/23 第三章 数据库的查询和试图 ② COMPUTE子句中的列必须出现在 SELECT子句的列表中。 ③ 使用 COMPUT [BY]子句就不能同时使用 SELECT INTO子句 ④ BY选项表示按指定的列进行明细汇总,使用 BY选项时必须同时使用 ORDER BY 子句,且 BY选项后的列必须具有和ORDER BY后的列相同的顺序,且不能跳过其中的列。 例如:如果 ORDER BY子句按照如下指定列。 ORDER BY 列 A,列 B,列 C 则 BY选项后的列表只能是下面任一中形式: BY 列 A,列 B,列 C BY 列 A,列 B BY 列 A 2020/11/23 第三章 数据库的查询和试图 【 例 338】 使用 COMPUTE子句对不及格的成绩记录进行明细汇总。 SELECT 学号 ,课程号 ,成绩 FROM XS_KC WHERE 成绩 60 COMPUTE COUNT(成绩) 【 例 339】 使用 COMPUTE BY子句对不及格的成绩记录进行明细汇总。 SELECT 学号 ,课程号 ,成绩 FROM XS_KC WHERE 成绩 60 ORDER BY 2 COMPUTE COUNT(成绩) BY 课程号 2020/11/23 第三章 数据库的查询和试图 排序 ●如果按一定顺序显示数据记录,有两种方法: (为表中的列建立簇索引或普通索引。 ) ① 当查询指定的是单个列,且该列有索引时,查询结果按照该列的索引定义的顺序显示; ②否则都按照表的簇索引顺序显示。 【 例 340】 查询学生表中的“姓名”单个列。 SELECT 姓名 FROM XSQK 【 例 341】 查询学生表中的“姓名”、“联系电话”多个列。 SELECT 姓名,联系电话 FROM XSQK 查询结果如下图: 2020/11/23 第三章 数据库的查询和试图 2020/11/23 第三章 数据库的查询和试图 ● 语法格式: SELECT 列名 1[,…n] FROM 表名 1[, …n] ORDER BY {列名 1|列号 1[ASC|DESC]}[, …n] 其中: ASC为默认值,表示按升序排序。 【 例 342】 查询学生表中的“姓名”,并按姓名列的降序排序。 SELECT 姓名 FROM XSQK ORDER BY 姓名 DESC 【 例 343】 按出生日期列的升序排列学生表。 SELECT 学号,姓名,出生日期 FROM XSQK ORDER BY 3 2020/11/23 第三章 数据库的查询和试图 例 342 例 343 2020/11/23 第三章 数据库的查询和试图 【 例 344】 按多个列对学生表排序。 SELECT 学号,课程号,成绩 FROM XS_KC ORDER BY 2, 3 DESC 2020/11/23 第三章 数据库的查询和试图 SELECT语句的其他子句 ● 语法格式: SELECT 列名 1[,…n] INTO 新表名 FROM 表名 1[, …n] [WHERE 逻辑表达式 ] 【 例 345】 将 【 例 344】 的查询结果保存到新表 temp_KC中。 SELECT 学号,课程号,成绩 INTO temp_KC FROM XS_KC ORDER BY 2, 3 DESC 2020/11/23 第三章 数据库的查询和试图 所谓连接查询就是将多个表通过某个或某些列为条件进行连接,从中查询数据。 两种语法方式: ANSI连接语法形式如下: SELECT 表名 .列名 1[, …n] FROM{表名 1[连接类型 ] JOIN 表名 2 ON 连接条件 }[, …n] WHERE 查询条件 SQL Server连接语法形式如下: SELECT 表名 .列名 1[, …n] FROM 表名 1 [, …n] WHERE {查询条件 AND |OR 连接条件 }[, …n] 2020/11/23 第三章 数据库的查询和试图 ( 1)内连接 [INNER] JOIN 在内连接中,可以使用等号 “ =”作为比较运算符,此时称作等值连接;也可以使用不等比较运算符,此时为不等值连接。 【 例 346】 用 ANSI语法表示的内连接查询成绩不及格的学生信息。 SELECT ,姓名,联系电话,课程号,成绩 FROM XSQK INNER JOIN XS_KC ON = XS_KC.学号 2020/11/23 第三章 数据库的查询和试图 ( 2)外连接 外连接包括左外连接 、 右外连接和全外连接。 左外连接包含左表的所有数据行 , 右外连接包含右表的所有数据行 , 全外连接包含两个表的所有数据行。 左连。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。