[信息与通信]第4章 关系数据库标准语言-SQL-3.ppt

[信息与通信]第4章 关系数据库标准语言-SQL-3.ppt

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

嵌套查询(续) 在SQL语言中可以多层嵌套查询,即一个子查询还可以嵌套另外一个字查询。特别要注意子查询中不能有ORDER BY子句,只有在最外层的最终查询结果才可以使用ORDER BY子句进行排序。 嵌套查询可以使多个简单查询嵌套成一个复杂的查询,这样通过层层嵌套的方法来构造查询,可以提高SQL语言的查询能力。这种层层嵌套的方法正是SQL中“结构化”的含义所在。 * 嵌套查询(续)--例子 例如:查询其他系中比数学系学生年龄都小的学生。 SELECT * FROM 学生 WHERE 年龄ALL (SELECT 年龄 FROM 学生 WHERE 所在系=数学) AND 所在系 数学; * 使用量词和谓词的查询(续) [例]在职工表中, 检索有职工的工资大于或等于WH1仓库中任何一名职工工资的仓库号。 这个查询可以使用ANY或SOME量词。 SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资=ANY (SELECT 工资 FROM 职工 WHERE 仓库号=“WH1”); 它等价于: SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资= (SELECT MIN(工资) FROM 职工 WHERE 仓库号=“WH1”); * 使用量词和谓词的查询(续) [例]在职工表中, 检索有职工的工资大于或等于WH1仓库中所有职工工资的仓库号。 这个查询使用ALL量词。 SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资=ALL (SELECT 工资 FROM 职工 WHERE 仓库号=“WH1”); 它等价于: SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资= (SELECT MAX(工资) FROM 职工 WHERE 仓库号=“WH1”); * 组合查询 将SELECT语句的查询结果集再进行集合运算就构成了SQL的组合查询。SQL的组合查询操作符有UNION(并操作)、INTERSECT(交操作)、MINUS(差操作)3种。 例如:查询选修了C1课程或选修了C2课程的学生学号。 SELECT 学号 FROM 选课 WHERE 课程号= C1 UNION SELECT 学号 FROM 选课 WHERE 课程号= C2; * 组合查询—例子 例如:查询选修C1课程,并且也选修C2课程的学生学号。 SELECT 学号 FROM 选课 WHERE 课程号= C1 INTERSECT SELECT 学号 FROM 选课 WHERE 课程号= C2; * 组合查询—例子 例如:查询选修了C1课程但没有选修C2课程的学生学号。 SELECT 学号 FROM 选课 WHERE 课程号= C1 MINUS SELECT 学号 FROM 选课 WHERE 课程号= C2; * SQL数据操纵 数据操纵语言是完成数据操作的命令,它们统称为DML: 数据操纵语言提供了NSERT(插入)、DELETE(删除)、UPDATE(更新)三种语句 * 插入记录 INSERT INTO 表名 [字段名列表] VALUES (常量[,常量(或表达式)]); 字段名列表:指定表文件中的字段,缺省时,按表文件字段的顺序依次赋值。 【功能】在指定的表文件末尾追加一条记录。用表达式表中的各常量或表达式值赋值给字段名列表中的相应的各字段。 【说明】如果某些字段名在INTO子句中没有出现,则新记录在这些字段名上将取空值(或默认值)。但必须注意的是,在表定义说明了NOT NULL的字段名不能取空值。 * 插入记录(续) [例]在表文件STUD的末尾追加三条记录。 ***用表达式方式追加第一条记录*** INSERT INTO STUD (学号,姓名,性别,班级名,系别代号,地址,出生日期,是否团员) ; VALUES (011110,李建国,男,计0121,01,湖北武汉,{09/28/02},.T.) * 更新记录 【格式】UPDATE 表文件名 SET 字段名1=表达式1 [,字段名2=表达式2…] [WHERE 条件]; 【功能】更新指定表文件中满足WHERE条件子句的数据。其中SET子句用于指定列和修改的值,WHERE用于指定更新的行,如果省略WHERE子句,则表示表中所有行。 【说明】更新操作又称为修改操作。 [例]将成绩表(SC)中,所有

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档