网站大量收购独家精品文档,联系QQ:2885784924

[工学]12-关系数据库标准语言SQL.doc

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

第4章 关系数据库标准语言SQL 4.1 SQL概述 SQL是Structured Query Language(结构化查询语言) 的缩写,是一种一体化的语言,可以完成数据库活动中的全部工作。 查询是SQL语言的重要组成部分。 SQL可以直接以单命令方式交互使用,也可编程。 SQL是高度非过程化语言。它不告诉计算机“如何”一步步去做,只需描述清楚要计算机做什么。 表4.1 SQL命令动词 SQL功能 命令动词 数据查询 select 数据定义 create、drop、alter 数据操纵 insert、update、delete 数据控制 grant、revoke 4.2 查询功能 一、SQL命令格式: 1.SELECT语句的基本格式如下: 例:查询学号为‘001’的男生的姓名和年龄。 Select 姓名,年龄 from 学生 where 学号=[001] and 性别=[男] SELECT〈列名表〉 FROM〈表名〉 WHERE〈条件表达式〉 [Group by 分组列名 [Having 〈分组条件表达式〉]] [ORDER BY〈排序项目〉[ASC/DESC][,[ASC/DESC]]...] 2.说明: (1)SELECT子句的〈列名表〉: 指出要显示的列的字段名 可选一个或多个字段 多个字段间用逗号分开 “*”可以用来表示某一个数据表中的所有字段 (2)FROM子句的〈表名〉 指出在查找过程中所涉及的表 可以是单个表,也可以是多个表 多个表之间应用逗号分开 (3)WHERE子句的〈条件表达式〉 指出所需数据应满足的条件 条件表达式中必须用到比较运算符或逻辑运算符 (4) group by 子句 实际应用中,将查询结果分组,再对每一个分组进行统计。 分组查询时,一般和函数配合使用。 可以在group by 后跟having短语,给出分组满足某个条件时才检索。 如果有having短语,其前面必须有group by子句。 (5) ORDER BY子句 可以控制查询所得记录的排列顺序 排序项目: 指出按哪一列的值进行排序 它可以是字段名或表达式 ASC表示按升序 DESC表示降序 缺省时按升序排列 多个条件逗号分开 先按第一列的值排,第一列值相同,再按第二列的值排序,依次类推 4.2.1 简单查询 所有查询信息均出自一个表中 在SELECT语句中表现为FROM子句中只有一个表名。 (1)无条件查询 要获取表中所有的记录,则无需指定任何条件 无条件查询仅涉及SELECT子句和FROM子句 可以通过SELECT子句指定获取部分列或全部列的信息 例4.1:查询职工表中所有的工资值。 Select 工资 from 职工 注意:Select distinct 工资 from 职工 添加了distinct短语,表示如果查询结果中有重复的工资值,则去掉重复的取值,即相同的工资值只取一次。 例4.2 查询仓库表中的所有元组。 Select * from 仓库 *表示所有表中属性。 (2)条件查询 选取表中满足一定条件的记录 条件由WHERE子句指出:若是多重条件,应使用逻辑运算符来连接几个简单条件;对于字符型常量应加引号 WHERE子句后的条件表达式的值可以为真或假 执行时,把条件为真的记录反馈回来 对条件为假的那些记录信息,则什么也不执行 例4.5 查询在仓库’WH1’或’WH2’工作并且工资少于1250元的职工号。 Select 职工号 from 职工 where (仓库号=’WH1’) or(仓库号=’WH2’) and 工资1250 4.2.2 简单的连接查询 ——基于多个关系的查询。 例4.6 查询工资多于1230的职工号和他们所在的城市。 分析思路:(1)首先分析题中需要用到的字段:工资,职工号,城市 (2)接着判断这些字段分别来自于哪个表:职工,仓库;说明这两张表是查询必须要用到的表。 (3)写出查询语句: Select 职工号,城市 select后写明最终要查询哪些字段 from 职工,仓库 from后写明需要用到的表,多表之间用英文的逗号分开 where职工.仓库号=仓库.仓库号and 工资1230 where后首先写明多表的连接条件:两表之间的共同字段取值相等;再写上查询条件工资1230 注意:连接条件 职工.仓库号=仓库.仓库号中,两表都有共同字段仓库号,在此不能直接写 仓库号=仓库号,需要在仓库号前面加前缀指明字段所属的关系。形如:关系名.字段名。 4.2.3 嵌套查询 ——这类查询所要求的结果是出自一个表,但相关的条件却涉及到多个关系。 1.嵌套查询的基本概念 在where子句中包含一个形如select-from-w

文档评论(0)

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

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

1亿VIP精品文档

相关文档