【精选】第4章 关系数据库标准语言SQL.docVIP

【精选】第4章 关系数据库标准语言SQL.doc

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多
【精选】第4章 关系数据库标准语言SQL

关系数据库标准语言S Q L 以笔试和上机两种形式考核。笔试中,多出现在选择题第29-35题,填空题第8-15题,主要考查SQL的数据查询功能。上机中,多出现在简单应用题。约占笔试分值的30%,上机试题的抽中几率约为39%。 1、SQL是结构化查询语言。查询是其核心。 特点:一体化、高度非过程化、简洁,交互方式和程序方式都可以用 SQL功能 命令动词 格式 数据查询 SELECT SELE ……FROM……WHERE 数据定义 CREATE、DROP、ALTER CREA TABLE …… 数据操纵 INSERT、UPDATE、DELETE INSERT INTO …… 数据控制 GRANT、REVOKE 注意:数据定义一般是对数据表操作,数据操纵一般是对表中的记录进行操作 2、查询功能 格式: SELE 字段名…… FROM 数据表名 ON 联接的字段名 WHERE 条件…… GROUP BY 分组(字段名) HAVING 分组条件 ORDER BY 排序字段 说明: select说明要查询的数据,相当关系的投影操作; from说明要查询的数据来自哪个(些表),可以基于单个表或多个表进行查询; where说明查询条件,即选择元组的条件,可是任意复杂的逻辑表达式,相当于关系的选择操作; group by短语用于对查询结果进行分组,可以利用它进行分组汇总; having短语必须跟随group by使用,它用来限定分组必须满足的条件; order by短语用来对查询的结果进行排序。 以下实例基于订货管理数据库,数据库表仓库、职工、订购单、供应商(P129) 1)简单查询 基于单个数据表,SELE…FROM …WHERE… 教材P130 SELE distinct 工资 FROM 职工 SELE [all] * FROM 职工 SELE * FROM 职工; WHERE 工资1230 Distinct短语的作用是去掉查询结果中的重复值。 *是通配符,表示所有属性(字段)。 ;是续行符号 ----------------------------------------------------------------------- 2)简单的连接查询 基于多个数据表 教材P131 找出工资多于1230的职工号和他们所在的城市 查询考试成绩大于等于60分的学生的学号,姓名,课程名,成绩,则SQL语句是: SELE 学生.学号,姓名,课程名,成绩; FROM 学生,选课,课程; WHERE 学生.学号=选课.学号 AND 选课.课程号=课程.课程号AND 成绩=60 如果在检索命令的FROM之后有两个以上关系,那么这多个关系之间肯定有一种联系,当FROM之后的多个关系中含有相同的属性名时,这里必须用关系前缀指明属性所属的关系。 3)嵌套查询 查询结果出自一个关系,但是相关条件却涉及多个关系 教材132 哪些城市至少有一个仓库的职工的工资为1250元 SELE 城市 FROM 仓库 WHERE 仓库号 IN; (SELE 仓库号 FROM 职工 WHERE 工资=1250) 分析: 查询所有职工的工资都多于1210元的仓库信息 分析: SELE * FROM 仓库 WHERE 仓库号 not IN; (SELE 仓库号 FROM 职工 WHERE 工资=1210) AND SELE * FROM 仓库 WHERE 仓库号IN; (SELE 仓库号 FROM 职工 WHERE 工资1210) AND 仓库号 IN; (SELE 仓库号 FROM 职工) SELE * FROM 仓库 WHERE 仓库号 NOT IN; (SELE 仓库号 FROM 职工 WHERE 工资=1210) AND 仓库号 IN; (SELE 仓库号 FROM 职工) 内层是两个并列的查询。 4)几个特殊运算符P133 ①BETWEEN……AND 在什么范围内(成绩在80-99之间) SELE DISTINCT 学号 FROM 选课 WHERE 成绩 BETWEEN 80 AND 99 SELE DISTINCT 学号 FROM 选课 WHERE 成绩=80 AND成绩=99 ②LIKE:字符匹配运算符,注意格式,”%”表示0个或任意多个,”_”表示一个 供应商名 LIKE”%公司” ----供应商名是“××××……公司” 查询姓王的学生信息 SELE * FROM 学生; WHERE 姓名 LIKE 王% (姓王的同学) (王××)

文档评论(0)

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

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

1亿VIP精品文档

相关文档