电子科技大学物理电子学院数据库程序设计课件第6章 使用高级查询―SQL语言.pptVIP

  • 4
  • 0
  • 约1.28万字
  • 约 53页
  • 2019-05-06 发布于广东
  • 举报

电子科技大学物理电子学院数据库程序设计课件第6章 使用高级查询―SQL语言.ppt

* * 6.2 SQL的数据操纵——查询 例23 找出当前至少借阅了5本图书的读者及所在单位。 SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN (SELECT 借书证号 FROM 借阅 GROUP BY 借书证号 HAVINT COUNT(*)=5); 例24 分别找出借书人数超过10个人的单位及人数。 SELECT 单位,?借书人数:?,COUNT(DISTINCT 借书证号)FROM 借阅,读者 WHERE 读者.借书证号=借阅.借书证号 GROUP BY 单位 HAVINT COUNT(DISTINCT 借书证号)10; 返回目录 * 6.2 SQL的数据操纵——查询 例25 找出没有借阅任何图书的读者及所在单位。 SELECT 姓名,单位 FROM 读者 WHERE NOT EXISTS (SELECT * FROM 借阅 WHERE 借阅.借书证号=读者.借书证号); 返回目录 * 6.2 SQL的数据操纵——查询 5.集合运算 例26 有一个校友通信录关系,包含姓名、职称和单位属性,相应的数据定义与读者关系一致。求校友与读者中具有教授、副教授职称人员的并集。 SELECT 姓名,职称,单位 FROM 读者 WHERE 职称 IN (?教授?,?副教授?) UNION SELECT 姓名,职称,单位 FROM 校友 WHERE 职称 IN(?教授?,?副教授?); 返回目录 * 6.2 SQL的数据操纵——插入 1.插入单个元组 insert into 表名[(属性1,属性2,……)] values(常量1,常量2,……) 例1 向图书(总编号,分类号,书名,作者,出版单位,单价)表中新加一个元组。 INSERT INTO 图书 VALUES(?446943?,?TP31/138?,?计算机基础?, ?杨大华?,?高教出版社?,17.10); 例2 向图书表中插入一个元组的部分属性。 INSERT INTO 图书(总编号,书名,单价) VALUES(,?数据库原理及应用?,16.50); 返回目录 * 6.2 SQL的数据操纵——插入 2.插入子查询结果 INSERT INTO 表名[(属性1,属性2,……)] 子查询; 例3 建立一个名为DW—JS的各单位借阅图书情况统计基本表,每隔一段时间,向此基本表里追加一次数据。 CREATE TABLE DW—JS(单位 CHAR(20), 借书人数 SMALLINT, 借书人次 SMALLINT); INSERT INTO DW—JS(单位,借书人数,借书人次) SELECT 单位,COUNT(DISTINCT 借书证号), COUNT(总编号) FROM 借阅,读者 WHERE 读者.借书证号=借阅.借书证号GROUP BY 单位; 返回目录 * 6.2 SQL的数据操纵——删除 格式为: DELETE from 表名 [where 条件] 例1 删除借书证号?9011100?所借总编号为的借阅登记。 DELETE FROM 借阅 WHERE 借书证号= ?9011100? AND 总编号=; 例2 删除借书证号以90开头的所有读者登记和借阅登记。 DELETEFROM 读者WHERE 借书证号=?90%?;? DELETE FROM 借阅WHERE 借书证号=?90%?; 返回目录 * 6.2 SQL的数据操纵——更新 格式:update 表名 set 属性名1=表达式1[,属性名2=表达式2……] [where 条件]; 例1 将总编号为的图书填上作者和出版单位。 UPDATE 图书 SET 作者=?王民?,出版单位=?希望? WHERE 总编号=; 例2 将所有图书的单价上调5%。 UPDATE 图书 SET 单价=单价*1.05; 例3 将书名中包含?计算机?的书分类号改为?TP31/138?。 UPDATE 图书 SE

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档