第七章SQL基础.pptVIP

  1. 1、本文档共61页,可阅读全部内容。
  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文档。上传文档
查看更多
第七章SQL基础

第 七章 SQL基础 SELECT [ALL|DISTINCT] [{别名}.]{选项}[, [{别名}.]{选项}…] 输出字段 FROM {表名} [{别名}][,{表名}[{别名}]…] 数据来源 [WHERE {条件表达式} [AND {条件表达式}…] 查询条件 [CONNECT BY PRIOR [条件表达式] 树型查询 [START BY WITH {表达式}] [GROUP BY {分组选项}[,{分组选项}…]] 分组查询 [HAVING {筛选条件表达式}] [UNION [ALL] {SELECT 命令}] [INTERSECT] 交操作 [MINUS] 差操作 [ODER BY {排序选项} [ASC | DESC][,{排序选项}[ASC | DESC]…]] SELECT [ALL | DISTINCT] [{模式名}.[{表名.}]{选项}…] ALL 表示输出所有记录,包括重复记录 DISTINCT 不输出重复记录 模式名 表所属于的模式 表名 指定表名 选项 可以是字段名、常数或函数 FROM {表名}[,{表名}…] 列出要查询的表名 SELECT * FROM student WHERE sex = 男 AND dno = D01 ; 查询的结果仍可看成是一个关系,它由查出的记录组成。 投影操作是从关系的属性集中选择属性子集,即由关系的部分列组成一个新关系, SELECT sno,sname,dno FROM student; 选择操作是从关系中选择部分满足条件的元组,其表示形式为: SELECT * FROM student WHERE dno=`d01`; SQL语句中的运算符 查同时选修了c01和c02两门课的学生 select sno from sc where cno=`c01` select sno from sc where cno=`c02` ; 例:查询选修了c01、但没有选修c02的学生的学号: (SELECT sno FROM sc WHERE cno=c01) MINUS (SELECT sno FROM sc WHERE cno=c02); 例:假如外语只开设了英语和日语。查询当前至少上着一门外语课的学生: (SELECT sno FROM sc,course WHERE cname=英语AND sc.cno=course.cno AND grade IS null ) UNION (SELECT sno FROM sc,course WHERE cname=日语AND sc.cno=course.cno AND grade IS null); Select 语句必须选择同样数量的列。 相应的列必须具有相同的类型。 重复的行将被自动去掉,不用distinct 第一个select 语句中的列名出现在结果 Order by 子句可出现在语句的最后,且只能指定位置列。 DISTINCT的使用是要付出代价的。因为要去掉重复值,必须对结果关系进行排序,相同的元组排在一起,只有按这种方法对元组分组,才能去掉重复值,而这一工作甚至比查询本身还费时间。 例:查询本学期选课超过10门的学生人数(注:选修但还没有成绩就表示是本学期正在上的课): SELECT COUNT(*) FROM student WHERE sno IN (SELECT sno FROM sc WHERE grade IS NULL GROUP BY sno HAVING COUNT(*)10) ; 例:查询各系生日最大的同学名单: SELECT sname,birthday,dno FROM student WHERE (birthday,dno) IN ( SELECT MAX(birthday),dno FROM student GROUP BY dno ) ; 查询职工上下级关系 select eno,ename from emp connect by prior eno=mgr start with eno=`e

文档评论(0)

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

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

1亿VIP精品文档

相关文档