- 1、本文档共143页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章-查询语句和视图
An Introduction to Database Systenm 第四章 查询语句和视图 计算机信息工程学院 查询语句和视图 4.1 单表查询 4.2 数据源中数据表的各种连接 4.3 子查询及逻辑运算符 4.4 关系集合运算的实现 4.5 视图 4.6 典型查询实例分析 4.7 查询语句小结 4.1 单表查询 SELECT [ALL|DISTINCT] [TOP n]目标列表达式 [,目标列表达式] … [INTO 新表名] FROM 表名或视图名[, 表名或视图名 ] … [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ]; 单表查询 查询全部 投影运算 包含计算列 选择运算 分组统计 排序 综合 1、查询全部属性列 例:查询全部学生的所有属性。 select stdid,stdname,stdsex,sideid,classid,dept,birthday from student 或 select * from student 2、投影运算 例:查询全体学生的姓名、性别、所在系。 select stdname,stdsex,dept from student 例:列出有选课的学生的学号。 select distinct stdid from se 3、包含计算列 例:查询所有学生的学号、姓名、年龄。 select stdid,stdname,year(getdate())-year(birthday) from student 或 select stdid as ‘学号’,stdname as ‘姓名’, year(getdate())-year(birthday) as ‘年龄’ from student SELECT子句的目标列表达式可以是: 算术表达式 字符串常量 函数 列别名 包含计算列-续 例:查询每个学生的姓名、出生年份、所在系(小写)。 select stdname name,year of birth: ’ birth, year(birthday) birthday ,lower(dept) department from student 4、选择运算 选择运算—between and 例:查询成绩在60-80之间的选课记录。 select * from se where grade=60 and grade=80; 或 select * from se where grade between 60 and 80; 5、分组统计 根据某些列的列值进行分组,这些列的列值相同的为一组,然后对每一组应用聚合函数进行统计。 Group by 例:查询每个系的男女生人数。 select dept,stdsex,count(*) from student group by dept,stdsex 6、排序 使用ORDER BY子句 可以按一个或多个属性列排序 升序:ASC;降序:DESC;缺省值为升序 当排序列含空值时:null最小 ASC:排序列为空值的元组最先显示 DESC:排序列为空值的元组最后显示 排序—续 例:查询选了“001”课程的分数最高的前5名学生的学号及分数。 select top 5 stdid,grade from se where eldid = 1 ‘ Order by grade desc 7、综合 例:统计每个系的女学生人数,并按人数的降序排列,在此仅列出女生人数超过100人的相关信息。 select dept,count(*) from student where stdsex= ‘女‘ group by dept having count(*)=100 order by 2 desc 综合 例:查询每个学生已修学分。 select stdid,sum(credit) from elective e,se where e.eleid=se.eleid and grade=60 group by se.stdid 4.2 数据源中数据表的各种连接 交叉连接:即两个表的笛卡尔积运算 内连接:为缺省连接,返回所有符合连接条件的行 左(右)外连接:结果集为满足连接条件的行+所有左(右)表不满足连接条件的行,这些行对应右表的列值均为空 全连接:返回行中包括左右两边表不满足连接条件的行,即返回行一定包含左右两边表的所有行。 自连接:自连接并不是一种新的连接类型,当连接的两个表是同一张表,就称为自连接。 交叉连接 例:获得所
文档评论(0)