3B基本SQL.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3B基本SQL

数据库系统概念----sql 前言 3.3:SQL查询的基本结构 基本结构 Select A1,A2,…,An From r1,r2,…,rm Where P 示例:求计算机系学生(sno,sname,sage) select sno,sname,sage from s where dept=‘计’ 3.3.1:select子句 Select Select (all):不去重复元组 Select distinct:去重复元组 Select *:选择全部属性 r.*:表r的全部属性 允许+-*/ 等算术表达式 示例: select dept,sage from s; 3.3.2:where子句 Where P P是算术表达式 比较运算符 ,=,=,,=,… 逻辑连词 not ,and,or 不使用┑∧ ∨,不支持? 比较运算符Between age between 18 and 20 ≡ age?[18,20] Not between 3.3.3:from子句 From r1,r2… 相当于r1×r2×… 不是自然连接! 示例: Select sno,sname,s.dno,dname from s,dept where s.dno=dept.dno 标识出现在多个关系中的属性名 rname.attrname 3.3.4/5:更名元组变量 Algebra: 更名运算as:旧名 as 新名 属性更名,表更名 as可以省略 Tuple R.calculus: 表更名,相当于声明了元组变量 from r1 as w ≡ ?w?r1(…) 没有更名的表,可看作是声明与表同名的元组变量 元组在Sql中的表示方法:(v1,v2,…vn) Sql的更名示例: select u.id, w.pid as gpid from parent as u,parent as w where u.pid=w.id; 3.3.6字符串操作 模式匹配操作Like 例如:addr like ‘%济南%’ 通配符 %:任意字符串 _:任意一个字符 Like的单向性 ‘济南市山大路’ like ‘济南市%’:true ‘济南市%’ like ‘济南市山大路’ :false 转义符escape 如匹配以’%’开头的字符串:like ‘\%%’ escape ‘\’ 3.3.6排列元组的显示次序 显示次序排序order by 升序:asc(默认,可以省略) 降序:desc 多属性排序的处理:字典顺序 只是显示次序排序,只能是sql的最后一个子句 示例 select * from sc where score60 order by cno,score desc 3.3.8重复 Sql中重复的处理理念 基于多重集进行处理(除非使用distinct) 从关系集合的角度理解: 任何关系都有标识属性RowID 重复情况下副本的数目 select where From r1,r2 3.4集合运算 Sql中的集合运算符 并:union 交:intersect 差:except 集合运算去除重复元组 使用all,强制按照多重集进行运算 Sql86/87中,只定义了union 示例,求老师和学生 (select pid,sname from s) union (select pid,tname from t) 3.5聚集 聚集函数 sum(),count(),max(),min(),avg() 示例:select count(*),avg(score) from sc; 聚集函数的性质同关系代数: 聚集函数作用于集合/多重集,返回值 聚集函数作用默认作用于多重集 强制作用于集合,使用“distinct” 如:select count(distinct sno) (无分组)使用聚集函数的sql: Sql返回关系,返回的关系有且只有一行 Select子句中出现聚集函数,不能同时出现非聚集的属性 3.5分组聚集 分组子句 Group by 例:select sno,count(*),avg(score) from sc group by sno; 分组聚集: Sql返回关系,每组对应一行;无组时返回关系空集 Select子句中,可以出现分组属性、聚集函数, 不能出现非聚集的非分组属性 思考:求每个学生的平均成绩?(sno,sname,avg(score)) 3.5分组聚集:having子句 对分组进行限定:having 求3门以上及格课程的学生以及及格门数 select sno,count(*) from sc where score=60

您可能关注的文档

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档