版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、06-07, 2, EC04, WEEK02, MON2.1第第2章章 结构化查询语言简介结构化查询语言简介2.1 SQL的背景的背景2.2 实验环境和实验数据说明实验环境和实验数据说明2.3 SELECT/FROM/WHERE框架框架2.4 查询单个表的查询单个表的SQL2.5 在在SQL查询中进行计算查询中进行计算2.6 分组分组2.7 使用使用SQL查询两个或多个表查询两个或多个表小结小结 & 参考资料参考资料 & 作业作业06-07, 2, EC04, WEEK02, MON2.22.1 SQL的背景的背景关系数据库管理系统关系数据库管理系统(RDBMS)占统治地位)占
2、统治地位的时代的时代1970, Edgar Frank Codd, Communication of ACM, “A Relational Model of Data for Large Shared Data Banks”, 数据库系统数据库系统研究领域的开创性文章研究领域的开创性文章一度饱受争议一度饱受争议E.F. Codd (1923-2003)第第16位图灵奖获得者位图灵奖获得者 (1981)06-07, 2, EC04, WEEK02, MON2.3SQL的背景的背景-II关系数据库的标准语言:关系数据库的标准语言:SQLtructured uery anguage, 结构化查询语言
3、结构化查询语言1974, Boyce & Chamberlin 提出提出19751979, IBM, San Jose Research Laboratory, 实现了实现了SQLANSI标准标准, SQL-86, SQL-89, (SQL2), SQL-99 (SQL3), 具体实现可能会与标准有些出入具体实现可能会与标准有些出入, 如如, SQL Server 的的 ransact, Access 的的 , 核心包括核心包括 , 和和 back06-07, 2, EC04, WEEK02, MON2.42.2 实验环境和实验数据说明实验环境和实验数据说明Access下练习下练习SQ
4、L语句语句实验数据实验数据“examplech02CH02_Example.mdb”虚构公司虚构公司Cape Codd, 销售娱乐用途的户外销售娱乐用途的户外设备设备, 拥有拥有15家零售店家零售店, 同时通过同时通过Internet销售商品销售商品, 所有的销售数据存储在所有的销售数据存储在Oracle数数据库中据库中, 市场部门为了对销售数据进行一次市场部门为了对销售数据进行一次分析分析, 从中抽取了相关的表从中抽取了相关的表, 形成了上述数据形成了上述数据库库, 实验所需数据表为实验所需数据表为: RETAIL_ORDER, ORDER_ITEM 和和 SKU_DATA. back06-
5、07, 2, EC04, WEEK02, MON2.51. Access下练习下练习SQL语句语句1206-07, 2, EC04, WEEK02, MON2.6Access下练习下练习SQL语句语句关闭向导关闭向导306-07, 2, EC04, WEEK02, MON2.7Access下练习下练习SQL语句语句切换到切换到SQL视图视图406-07, 2, EC04, WEEK02, MON2.8Access下练习下练习SQL语句语句输入和运行输入和运行SQL语句语句5606-07, 2, EC04, WEEK02, MON2.9Access下练习下练习SQL语句语句查看结果和返回查看结果
6、和返回SQL视图视图7 back06-07, 2, EC04, WEEK02, MON2.10零售店销售数据抽取零售店销售数据抽取 back06-07, 2, EC04, WEEK02, MON2.11用户订单视图用户订单视图XXX零售店销售订单零售店销售订单邮编邮编: 000000 地址地址: XXX 电话电话: XXX订单号订单号: 00002007年年3月月12日日货号货号品名品名单价单价数量数量小计小计合计合计:RETAIL_ORDERORDER_ITEMSKU_DATA06-07, 2, EC04, WEEK02, MON2.12订单订单 RETAIL_ORDER OrderNumb
7、er: 订单号订单号, , 长整长整型型 StoreNumber: 店铺号店铺号, Integer StoreZip: 店铺邮编店铺邮编, , 9字字节文本节文本 OrderMonth: 开单月份开单月份, Character(12), 英文表示英文表示, e.g., December OrderYear: 开单年份开单年份, Integer OrderTotal: 订单金额订单金额, , 货币货币型型06-07, 2, EC04, WEEK02, MON2.13订单明细订单明细 ORDER_ITEM OrderNumber: 订单号订单号, Integer SKU: 商品号商品号, Inte
8、ger Quantity: 数量数量, Integer Price: 单价单价, Currency ExtendedPrice: 数量数量 x 单价单价, Currency06-07, 2, EC04, WEEK02, MON2.14商品资料商品资料 SKU_DATA SKU: 商品号商品号, Integer SKU_Description: 商品描述商品描述, Character(35) Department: 采购员所在部门采购员所在部门, Character(30) Buyer: 采购员姓名采购员姓名, Character(30) back06-07, 2, EC04, WEEK02,
9、MON2.152.3 SELECT/FROM/WHERE框架框架从单个表中读取特定的列从单个表中读取特定的列关系代数中称为投影关系代数中称为投影 (Projection)从单个表中读取特定的行从单个表中读取特定的行关系代数中称为选择关系代数中称为选择 (Selection)从单个表中读取特定的列和行从单个表中读取特定的列和行 back06-07, 2, EC04, WEEK02, MON2.161. 从单个表中读取特定的列从单个表中读取特定的列 例例1: 列出采购员资料列出采购员资料SELECT Department, BuyerFROM SKU_DATA; 说明说明 在在 T-SQL 和和
10、MS Jet SQL 中中, 如果标识符如果标识符 (e.g., 表名表名, 列名列名, ) 包含空格或与保留字冲突包含空格或与保留字冲突, 标识符使标识符使用方括号括起来用方括号括起来. 如如: Order Number SQL语句大小写无关语句大小写无关, 语句以分号结束语句以分号结束. 该语句没有消除重复行该语句没有消除重复行, 严格意义说严格意义说, 该运算结果不是该运算结果不是关系关系, 但它的执行效率比消除重复行高很多但它的执行效率比消除重复行高很多.06-07, 2, EC04, WEEK02, MON2.17从单个表中读取特定的列从单个表中读取特定的列-II 例例2: 列出采购
11、员资料列出采购员资料, 并消除重复行并消除重复行SELECT DISTINCT Department, BuyerFROM SKU_DATA; 说明说明: DISTINCT 的作用范围是的作用范围是 (Department, Buyer) 组合组合 例例3: 列出商品资料的所有列列出商品资料的所有列SELECT *FROM SKU_DATA; back06-07, 2, EC04, WEEK02, MON2.182. 从单个表中读取特定的行从单个表中读取特定的行 例例4: 列出水上运动部门列出水上运动部门(Water Sports)采购的采购的商品资料商品资料SELECT *FROM SKU_
12、DATAWHERE Department = Water Sports; 说明说明 字符型或日期型常量使用单引号括起来字符型或日期型常量使用单引号括起来 如果字符串中包含单引号如果字符串中包含单引号, 则用两个连续的单引号表示则用两个连续的单引号表示, e.g., Im a student. 比较运算符和逻辑运算符比较运算符和逻辑运算符, =, =, , =, and or, in, between.and, like 比较运算符优先级高于逻辑运算符比较运算符优先级高于逻辑运算符 back06-07, 2, EC04, WEEK02, MON2.203. 从单个表中读取特定的列和行从单个表中读
13、取特定的列和行 例例5: 列出登山部门列出登山部门 (Climbing) 采购商品采购商品的品名和采购员资料的品名和采购员资料SELECT SKU_Description, BuyerFROM SKU_DATAWHERE Department = Climbing; back06-07, 2, EC04, WEEK02, MON2.212.4 查询单个表的查询单个表的SQL将结果排序将结果排序升序升序: ASC (默认默认)降序降序: DESCWHERE子句选项子句选项复合复合WHERE子句子句WHERE子句中的范围子句中的范围WHERE子句中的通配符子句中的通配符 back06-07, 2,
14、 EC04, WEEK02, MON2.221. 将结果排序将结果排序 例例6: 按订单号升序列出订单明细资料按订单号升序列出订单明细资料SELECT *FROM ORDER_ITEMORDER BY OrderNumber;SELECT *FROM ORDER_ITEMORDER BY OrderNumber ASC;06-07, 2, EC04, WEEK02, MON2.23将结果排序将结果排序-II 例例7: 按订单号降序列出订单明细资料按订单号降序列出订单明细资料SELECT *FROM ORDER_ITEMORDER BY OrderNumber DESC; 例例8: 按订单号单价
15、升序按订单号单价升序, 单价降序列出订单价降序列出订单明细资料单明细资料SELECT *FROM ORDER_ITEMORDER BY OrderNumber, Price DESC; back06-07, 2, EC04, WEEK02, MON2.24复合复合WHERE子句子句-AND 例例9: 列出水上运动部门列出水上运动部门Nancy Meyers的的采购资料采购资料SELECT *FROM SKU_DATAWHERE Department = Water Sports Buyer = Nancy Meyers;06-07, 2, EC04, WEEK02, MON2.25复合复合WH
16、ERE子句子句-OR 例例10: 列出水上运动部门和野营部门列出水上运动部门和野营部门(Camping)的采购资料的采购资料SELECT *FROM SKU_DATAWHERE Department = Water Sports Department = Camping;06-07, 2, EC04, WEEK02, MON2.26复合复合WHERE子句子句-IN 例例11: 列出水上运动部门和野营部门的采列出水上运动部门和野营部门的采购资料购资料SELECT *FROM SKU_DATAWHERE Department IN (Water Sports, Camping);06-07, 2,
17、 EC04, WEEK02, MON2.27复合复合WHERE子句子句-NOT IN 例例11: 列出非水上运动部门列出非水上运动部门, 亦非野营部亦非野营部门的采购资料门的采购资料SELECT *FROM SKU_DATAWHERE Department NOT IN (Water Sports, Camping);= 100AND ExtendedPrice = 200; back06-07, 2, EC04, WEEK02, MON2.29WHERE子句中的通配符子句中的通配符 SQL-92标准标准% 表示匹配表示匹配0个或多个字符个或多个字符 a%a: aa, aBa, aBBBa_
18、下划线下划线, 表示匹配任意表示匹配任意1个字符个字符 a_a: aBa, aCa字符表字符表 匹配字符表指定的任意匹配字符表指定的任意1个字符个字符 ab: a, b !ab: 非非a, 非非b的任意的任意1个字符个字符, Access ab: 同上同上, SQL Server %, _, 06-07, 2, EC04, WEEK02, MON2.30WHERE子句中的通配符子句中的通配符-II 例例13: 列出品名包含列出品名包含 Tent 字符串的商品字符串的商品资料资料SELECT *FROM SKU_DATAWHERE SKU_Description %Tent%; back06-0
19、7, 2, EC04, WEEK02, MON2.312.5 在在SQL查询中进行计算查询中进行计算 例例14: 统计所有订单的金额统计所有订单的金额SELECT SUM(OrderTotal) AS OrderSumFROM RETAIL_ORDER 说明说明 统计函数统计函数: SUM, AVG, MIN, MAX, COUNT(统计行数统计行数) AS: 给列取别名给列取别名 back06-07, 2, EC04, WEEK02, MON2.32COUNTSELECT COUNT(*) AS NumRowsFROM ORDER_ITEM;SELECT COUNT(Department) AS DeptCountFROM SKU_DATA;SELECT COUNT(DISTINCT Department) AS DeptCountFROM SKU_DATA;Access中无效中无效除非分组除非分组, 否则不能将列名和统计函数放一起否则不能将列名和统计函数放一起, 如如SELECT Department, COUNT(*)FROM SKU_DATA; 2; 条件表达式不能使用别名条件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广州医科大学《财政与金融》2023-2024学年第一学期期末试卷
- 2025吉林省安全员-B证考试题库附答案
- 2025广东建筑安全员-A证考试题库及答案
- 《STP汽车战略分析》课件
- 《康复护理新思维》课件
- 单位人力资源管理制度品读大全十篇
- 单位人力资源管理制度集粹合集十篇
- 内蒙古呼伦贝尔市阿荣旗2024-2025学年七年级上学期1月期末道德与法治试卷(含答案)
- 《ho中国案例分析》课件
- 单位管理制度展示选集【职员管理篇】十篇
- 上海中考考纲词汇默写每天50个(无答案)
- 热工基础课后答案超详细版(张学学)
- 十八项医疗核心制度培训课件
- 食品工艺学(鲁东大学)智慧树知到期末考试答案2024年
- 工地食堂经营方案及计划书
- 2024年汽车驾驶员高级证考试题库及答案
- 正畸计划书模板
- 空中交通管制基础
- 供应商竞价比价表
- 转运呼吸机培训课件
- 国内外天然植物染料的应用及发展现状
评论
0/150
提交评论