资源预览内容
第1页 / 共78页
第2页 / 共78页
第3页 / 共78页
第4页 / 共78页
第5页 / 共78页
第6页 / 共78页
第7页 / 共78页
第8页 / 共78页
第9页 / 共78页
第10页 / 共78页
亲,该文档总共78页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
学时数:12学时 课程类型:理论,第三章数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,2,教学目的 了解SQL的背景知识 掌握SQL查询语句 掌握SQL数据定义语句CREATE、DROP、ALTER 掌握数据操纵语句INSERT、DELETE、UPDATE 掌握数据控制语句GRANT、REVOKE 教学要求牢记有关概念,掌握SQL查询,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,3,3.1 SQL查询 3.2 SQL数据定义 3.3 SQL数据操作 3.4 SQL数据控制 3.5 数据字典,课程章节,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,4,教学重点SQL数据定义:基本表、视图、别名,建立索引 SQL数据操纵:插入、更新、删除 SQL数据查询教学难点SQL查询:简单查询、联接查询、嵌套查询、库函数查询、集合运算,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,5,SQL的特点SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括:1综合统一2高度非过程化3面向集合的操作方式4以同一种语法结构提供两种使用方式 5语言简捷,易学易用,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,6,3.1 SQL查询,SELECT-FROM-WHERE基本结构:SELECT DISTINCT 目标列 SELECT子句FROM 基本表(或视图)列 FROM子句WHERE 条件表达式 WHERE子句GROUP BY 列名1 GROUP BY子句HAVING 内部函数表达式 HAVING字句ORDER BY 列名2ASCDESC,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,7,注释:选择表中的全部列或部分列,这就是投影运算。 2. 消除取值重复的行 两个本来并不完全相同的 元组,投影到指定的某些列上后,可能变成相同的行了。 3. 如果指定DISTINCT短语,则表示在计算时要取消指定列中的重复值。如果不指定DISTINCT短语或指定ALL短语(ALL为缺省值),则表示不取消重复值。,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,8,l 单价 between 10 and 20 等价于 单价=10 and 单价=10 AND 单价=20 ORDER BY 单价 DESC;注:这里代表图书和借阅两个关系联接后的所有属性,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,22,在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询。 1.带有IN谓词的子查询在嵌套查询中,子查询的结果往往是一个集合,所以谓词IN是嵌套查询中最经常使用的谓词。 2.带有比较运算符的子查询带有比较运算符的子查询是指父查询与子查询之间用比较运算符进行连接。 3.带有ANY或ALL谓词的子查询子查询返回单值时可以用比较运算符 ,而使用ANY或ALL谓词时则必须同时使用比较运算符。 4.带有EXISTS谓词的子查询EXISTS代表存在量词 $。带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。,3.1.3 嵌套查询,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,23,例13:找出读者李欣所借的所有图书的书名及借阅日期 SELECT姓名,“所借图书:”,书名,借阅日期 FROM 图书 WHERE 总编号 IN (SELECT 总编号 FROM 借阅 WHERE 借书证号 IN (SELECT 借书证号 FROM 读者 WHERE 姓名=”李欣”);,第三章 数据库的标准语言SQL,2018/9/3,天津中德职业技术学院 信息工程系,24,例14:找出借阅了“C语言程序设计”一书的读者姓名及所在单位方法一: SELECT 姓名,单位 FROM 图书,借阅,读者 WHERE 读者.借书证号借阅.借书证号 and 借阅.总编号=图书.总编号 and 书名=”C语言程序设计”;方法二: SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN (SELECT借书证号 FROM 借阅 WHERE 总编号 IN (SELECT 总编号 FROM 图书 WHERE 书名=” C语言程序设计”); 注:在嵌套查询中最常用的是谓词IN并非所有的嵌套查询都能用联接查询替代,往往是结合使用更显得简洁、方便,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号