06第五章关系数据库标准语言SQL01_第1页
06第五章关系数据库标准语言SQL01_第2页
06第五章关系数据库标准语言SQL01_第3页
06第五章关系数据库标准语言SQL01_第4页
06第五章关系数据库标准语言SQL01_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 关系数据库标准语言SQL1本 章 要 点1SQL概述2查询功能3操纵功能4定义功能2SQL语言 (STRUCTURED QUERY LANGUAGE 结构化查询语言) : SQL语言是数据库的标准语言,几乎所有的关系数据库管理系统都支持SQL标准 集数据定义、数据查询、数据操纵和数据控制的功能于一体,语言风格统一,可以独立完成数据库活动中的全部操作(包括定义关系模式、录入数据及建立数据库、查询、更新、维护数据、数据库的重新构造、数据库安全性等一系列操作的要求),为数据库应用系统开发者提供了良好的环境。 5.1 SQL概述3SQL语言的主要特点: 高度集成化:SQL语言集数据定义、数据操

2、纵、数据查询和数据控制功能于一体 非过程化:SQL是一种非过程化的语言 简洁易学:SQL语言完成数据定义、数据操纵、数据控制和数据查询等核心功能只用了9个命令动词;而且语法也接近英语自然语法 用法灵活:SQL语言既能够以人机交互方式来使用,也可以嵌入到程序设计语言中以程序方式使用45.2 查询功能 数据库中的数据很多时侯是为了查询的,因此,数据查询是数据库的核心操作。而在SQL语言中,查询语言中有一条查询命令,即SELECT语句。 5.2.1 简单查询 1、无条件查询【格式】SELECT ALL | DISTINCT FROM 【功能】无条件查询。【说明】ALL: 表示显示全部查询记录,包括重

3、复记录。 (可省略) DISTINCT: 表示显示无重复结果的记录。5例1、显示学生数据表中的所有记录。 SELECT * FROM 学生说明:命令中的 * 表示输出表中所有字段, FROM后面的表文件名指明数据的来源,表中的内容以浏览方式显示。例2、显示职工表中的所有工资值。 SELECT 工资 FROM 职工6例3、显示职工表中的所有工资值,同时能去除重复值。 SELECT DISTINCT 工资 FROM 职工例4、显示成绩表中的所有记录,并将成绩一项乘以0.7。 SELECT 学号,课程编号,成绩* 0.7 AS 成绩 ; FROM 考试成绩72 带条件(WHERE)的查询【格式】SE

4、LECT ALL | DISTINCT FROM WHERE 【功能】从一个表中查询满足条件的记录。【说明】 WHERE 子句用来查询满足条件的记录。8例5、显示学生表中出生日期在85年之间的学生的 学号,姓名,出生日期。 SELECT 学号, 姓名, 出生日期 FROM 学生 ; WHERE (出生日期= 1985-01-01); AND (出生日期=1985-12-31)例6、显示职工表中在仓库“WH1” 或“WH2”工作,并且工资少于1250元的职工号 。 SELECT 职工号 FROM 职工; WHERE 工资1250 AND (仓库号=“WH1” OR ; 仓库号=“WH2” )95

5、.2.2 简单的连接查询【说明】在一个数据库中的多个表之间一般都存在着某些联系,在一个查询语句中同时涉及到两个或两个以上的表时,这种查询称之为连接查询(也称为多表查询)。在多表之间查询必须处理表与表之间的连接关系。【格式】 SELECT ALL | DISTINCT FROM ,. WHERE 10例7、查询并显示各个学生的学号,姓名,课程名称及成绩。 SELECT 学生.学号,姓名,课程名,成绩 ; FROM 学生 ,课程,考试成绩 ; WHERE 学生.学号=考试成绩.学号; AND 考试成绩.课程编号=课程.课程编号11例8、查询工资多于1230元的职工号(职工表)和他们所在的城市(仓库

6、表)。 SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (工资1230 ) AND 职工.仓库号=仓库.仓库号例9、找出工作在面积大于400的仓库的职工号(职工表)以及这些职工工作所在的城市(仓库表)。 SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (面积400 ) AND 职工.仓库号=仓库.仓库号125.2.3 嵌套查询 在SQL语句中,一个SELECTFROMWHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE子句或HAVING 短语的条件中的查询称为嵌套查询或子查询。13例10、哪些城市至少有一个仓库的职工工资为1250元? S

7、ELECT 城市 FROM 仓库 ; WHERE 仓库号 IN (SELECT 仓库号 FROM 职工 ; WHERE 工资=1250)练习:找出和职工E4中同样工资的所有职工。 SELECT 职工号 FROM 职工; WHERE 工资=(select 工资 from 职工 where 职工号=E4)145.2.4 几个特殊的运算符(1) NOT BETWEEN AND (2) NOT IN ()(3) NOT LIKE (通配符: _ %)例11、检索出工资在1220元到1240元范围内的职工信息 SELECT * FROM 职工 ; WHERE 工资 BETWEEN 1220 AND 12

8、4015例12、从供应商关系中检索出全部公司的信息,不要工厂或其他供应商的信息。 SELECT * FROM 供应商 ; WHERE 供应商名 LIKE “%公司”练习、找出地址在北京的供应商的全部信息SELECT * FROM 供应商; WHERE 地址 LIKE _京165.2.5 排序将查询的结果排序【格式】SELECT ALL | DISTINCT FROM WHERE ORDER BY ASC | DESC , ASC | DESC 【说明】利用ORDER BY 子句将查询的结果进行排序例13、按出生日期降序显示学生表中的学号,姓名,出生日期。 SELECT 学号,姓名,出生日期 F

9、ROM 学生 ; ORDER BY 出生日期 DESC17例14、按成绩升序显示考试成绩表中的学号,课程号,成绩。 SELECT 学号,课程编号,成绩 FROM 考试成绩 ; ORDER BY 成绩 ASC例15、先按仓库号排序,在按工资排序,并输出全部职工的信息。 SELECT * FROM 职工 ORDER BY 仓库号, 工资18例16、按成绩降序显示成绩表中学号前四位为0324同学的学号,姓名,课程名,成绩。SELECT 学生.学号, 姓名, 课程名, 成绩 ;FROM 考试成绩, 学生, 课程;WHERE LEFT(学生.学号,4)=0324 AND 学生.学号=考试成绩. 学号; AND 考试成绩.课程编号=课程.课程编号 ORDER BY 成绩 DESC19练习: 先按

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论