第6章节关系数据库标准语言SQL.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章节关系数据库标准语言SQL

第六章 关系数据库标准语言SQL;6.1 SQL语言的概述 SQL是结构化查询语言,它包括: 查询 数据定义 数据操纵 数据控制 SQL已经成为关系数据库的标准数据语言,掌握SQL语法可以很方便地对数据进行管理。 ;;6.3 SQL的查询功能;;6.3.1 基本查询;2、去掉重复值的检索 使用DISTINCT短语:去掉重值. 例1:显示职工表中的所有工资信息,要求不显示重复值。 SELE DISTINCT 工资 FROM 职工表 例2:列出所有学生表中学生的姓名与年龄。 使用 SELE 姓名,YEAR(DATE())-YEAR(出生日期) AS 年龄 from student 注:AS(列名)用于指定输出时使用的列标 题,可以不同于字段名。;6.3.2 带条件的查询;;2、使用WHERE短语的简单联接查询 联接查询是基于多个关系的查询,查询所要求的结果出自多个关系。在语句中要指定联接的条件,即多个关系的相同属性: 表1.字段名 =表2.字段名 例3:找出工资多于1230元的职工号和他们所在的城市。 SELE 职工号,城市 FROM 职工表,仓库表; WHERE (工资1230) AND (职工表.仓库号=仓库表.仓库号) 例4:找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。 SELECT 职工号,城市 FROM 职工表,仓库表 WHERE ; 面积400 AND (职工表.仓库号=仓库表.仓库号) ;注意: 1、这里的“职工.仓库号=仓库.仓库号”是联接条件。 2、当FROM之后的多个关系中含有相同的属性时,这时必须用关系前缀“.”直接指明属性所属的关系。 ;6.3.3、嵌套查询 嵌套查询:指在SELE-FROM-WHERE查询块内部再嵌入另 一个查询块,称为子查询。 嵌套查询的运算:先计算子查询,然后将子查询的结果传给外层查询使用。 查询所要求的结果:出自一个关系,但相关的条件却涉及多个 关系。 常用内层与外层嵌套的语句有: IN语句、ALL语句、ANY 语句 ?IN语句:IN(属于)或NOT IN(不属于) 即查询字段所需的值属于子查询中的结果。 用法:字段 IN (子查询);;;例4:哪些城市至少一个仓库的职工工资为1250元? 分析:此题为先在内查询中找出工资为1250元的仓库号,然后在以此结果到仓库表中找出对应的城市。 内层查询: 查询的结果为:职工表中的仓库号 查询的条件为:工资=1250 (WH1、WH2) 命令:SELE 仓库号 FROM 职工表 WHERE 工资=1250 外层查询: 查询的结果为:仓库表的城市 查询的条件为:仓库号属于内层查询的所给的仓库号 命令:SELE 城市 FROM 仓库表 WHERE 仓库号 IN ;;ALL语句: 功能:满足子查询结果的所有值 用法:字段 比较符 ALL(子查询) ALL的语义为:大于子查询结果中的所有值(最高值). 例5:检索有职工的工资大于或等于WH1仓库中所有职工工资的仓库号。 分析:查询涉及的表只有职工表. 内层查询:从职工表中查询出仓库号为WH1的所有工资 查询的信息:工资,数据出于职工表. 查询的条件:仓库号为WH1 命令:SELE 工资 FROM 职工表 WHERE 仓库号=“WH1” (1210、1250) ;外层查询:查询出高于内层查询所提供的工资的所有仓库号, 用量词ALL,且写为:工资=ALL 同时要去掉重复的仓库号. 命令: SELE DISTINCT 仓库号 FROM 职工 WHERE 工资=ALL 此查询的完整命令: SELE DISTINCT 仓库号 FROM f:\vfp讲义\职工表; WHERE 工资=ALL ; (SELE 工资 FROM f:\vfp讲义\职工 WHERE 仓库号=”WH1”) 注:这里只取工资大于或等于1250的仓库号;??ANY语句 功能:满足子查询结果的任何一个值 用法: 字段 比较符 ANY(子查询) ANY的语义为:大于子查询结果中的某个值(最低值). 例: 检索所有职工的工资大于或等于WH1仓库中任何一名职工工资的仓库号 分析:查询涉及的表为职工表 查询的信息: 职工表中仓库号 内层查询: 从职工表中找出仓库号为WH1的职工工资 外层查询: 找出大于或等于WH1中任何一工资值的仓库号

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档