- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
其中表达式是常量、列、函数或表达式,其数据类型只能是int、smallint、tinyint、bigint、decimal,numeric,float、real,money和smallmoney。 ALL表示对所有值进行运算,DISTINCT表示去除重复值,默认为ALL。SUM忽略NULL值。 SELECT SUM (course_time) 总课时, SUM (course_score) 总学分 FROM course_info WHERE course_start =1 5.3.10 使用GROUP BY子句对查询结果进行分组 利用SQL的GROUP BY子句,能够快速而简便地将查询结果表按照指定的字段进行分组,值相等的记录分为一组。 GROUP BY子句一般和SQL的聚合函数一起使用。 SELECT 字段表达式 FROM 表名 GROUP BY 字段名 SELECT class_no,COUNT( student_id) 学生人数 FROM student_info GROUP BY class_no 5.3.11 使用HAVING子句筛选结果表 在实际使用中,往往还要对分组后的结果按某种条件再进行筛选,而只输出满足用户指定条件的记录。在SQL中,HAVING子句能完成此功能。 “WHERE”子句与“HAVING”子句的区别在于作用对象不同: ① WHERE子句的作用对象是表,是从表中选择出满足筛选条件的记录。 ② HAVING子句的作用对象是组,是从组中选择出满足筛选条件的记录。 SELECT class_no 班级名,COUNT(student_id) 总人数 FROM student_info GROUP BY class_no HAVING COUNT(student_id)2 5.4 基于多表的连接查询 在关系型数据库中,将一个查询同时涉及两个或两个以上的表,称为连接查询。 基于多表的查询是通过所谓的连接查询来完成的。连接是根据各个表之间的逻辑关系从两个或多个表中查询数据,结果通常是含有参加连接运算的两个表(或多个表)的指定列的表。 在T_SQL中,连接查询有两大类表示形式,一是符合SQL标准连接谓词表示形式,二是T_SQL扩展使用关键字JOIN的表示形式。 ① 指定每个表中要用于连接的列。典型的连接条件在一个表中指定外键,在另一个表中指定与其关联的键。 ② 指定比较各列的值时要使用的逻辑运算符,如“=、 ”等。 5.4.1 连接谓词 可以在SELECT语句的WHERE子句中使用比较运算符,给出连接条件对表进行连接,对这种表示形式称为连接谓词表示形式。其基本格式为: [ 表名1.]字段名 运算符 表名2.字段名2 连接谓词中的比较符可以是、=、=、、=、!=、等。当比较符为“=”时,就是等值连接;若在等值连接中去除结果表中相同的字段名,则为自然连接;若有多个连接条件,则为复合条件连接。若一个表与自身进行连接,称为自连接。 SELECT student_info.*,class_info.* FROM student_info, class_info WHERE student_info.class_no= class_info.class_no SELECT student_id, student_name,student_sex,born_date, student_info.class_no, tele_number,ru_date,address, comment,class_name,director,profession FROM student_info, class_info WHERE student_info.class_no= class_info.class_no 若要在一个表中查找具有相同列值的行,则可以使用自连接。使用自连接时需为表指定两个别名,且对所有列的引用均要用别名限定。 SELECT a.student_id,a.course_no,b.course_no,a.result FROM result_info a,result_info b WHERE a.result=b.result AND a.student_id=b.student_id AND a.course_nob.course_no 本例主
您可能关注的文档
- SQL Server 2005数据库实用教程第6章 Transact-SQL 程序设计.ppt
- SQL Server 2005数据库实用教程第7章 使用存储过程操纵数据库.ppt
- SQL Server 2005数据库实用教程第8章 使用触发器.ppt
- SQL Server 2005数据库实用教程第9章 游标.ppt
- SQL Server 2005数据库实用教程第10章 事务和锁.ppt
- SQL Server 2005数据库实用教程第11章 数据库的备份与恢复.ppt
- SQL Server 2005数据库应用技术第1章 数据库技术概论.ppt
- SQL Server 2005数据库应用技术第2章 创建和管理数据库.ppt
- SQL Server 2005数据库应用技术第3章 创建和管理表.ppt
- SQL Server 2005数据库应用技术第4章 索引与数据完整性.ppt
- SQL Server数据库原理及应用第 6 章 Transact-SQL.ppt
- SQL Server数据库原理及应用第 7 章 索引与数据完整性.ppt
- SQL Server数据库原理及应用第 8 章 存储过程和触发器.ppt
- SQL Server数据库原理及应用第 9 章 备份恢复.ppt
- SQL Server数据库原理及应用第 10 章 系统安全管理.ppt
- SQL Server数据库原理及应用第 11 章 游标和其他概念.ppt
- SQL Server数据库原理及应用第 12 章 Visual BasicSQL Server开发与编程.ppt
- SQL Server数据库原理及应用第 13 章 学生信息管理系统.ppt
- SQL Server应用教程第1章 数据库基本概念和SQL.ppt
- SQL Server应用教程第3章 表数据操作.ppt
文档评论(0)