网站大量收购独家精品文档,联系QQ:2885784924

4.查询语句和视图.ppt

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

第六章 SELECT语句和视图 4.1 单表查询 4.2 数据源中数据表的各种连接 4.3 子查询及其逻辑运算符 4.4 关系集合运算的实现 4.5 视图 4.6 典型查询实例分析 4.7 查询语句小结 4.1 单表查询 查询语句的基本格式是: SELECT 查询列 [FROM 数据源] [WHERE 行条件表达式] [GROUP BY 分组依据] [HAVING 组选择条件] [ORDER BY 排序依据] 进货单明细表(BuyDetail) 单表查询实例: 基本查询: SELECT * FROM BuyDetail SELECT BuyNo,GoodsNo,Unit,Quantity FROM BuyDetail SELECT DISTINCT BuyNo FROM BuyDetail SELECT *,Price*Quantity FROM BuyDetail SELECT *,Price*Quantity AS Amount FROM BuyDetail SELECT GoodsNo,Price,Quantity FROM BuyDetail WHERE BuyNo=B09002 AND GoodsNo LIKE 03% AND Price200 分组统计: SELECT SUM(Price*Quantity) FROM BuyDetail SELECT COUNT(*) FROM BuyDetail SELECT COUNT(DISTINCT BuyNo) FROM BuyDetail SELECT BuyNo,SUM(Price*Quantity) FROM BuyDetail GROUP BY BuyNo SELECT BuyNo,SUM(Price*Quantity) FROM BuyDetail GROUP BY BuyNo HAVING SUM(Price*Quantity)40000 排序和综合: SELECT * FROM BuyDetail ORDER BY BuyNo,Price DESC SELECT BuyNo,SUM(Price*Quantity) FROM BuyDetail GROUP BY BuyNo HAVING SUM(Price*Quantity)40000 ORDER BY SUM(Price*Quantity) 或:ORDER BY 可用ORDER BY 2取代 SELECT BuyNo,SUM(Price*Quantity) FROM BuyDetail WHERE Price100 GROUP BY BuyNo HAVING SUM(Price*Quantity)40000 ORDER BY 2 4.2 数据源中数据表的各种连接 交叉连接:即两个表的笛卡尔积运算 内连接:为缺省连接,返回所有符合连接条件的行 左(右)外连接:结果集为满足连接条件的行+所有左(右)表不满足连接条件的行,这些行对应右表的列值均为空 全连接:返回行中包括左右两边表不满足连接条件的行,即返回行一定包含左右两边表的所有行。 自连接:自连接并不是一种新的连接类型,当连接的两个表是同一张表,就称为自连接。 例:交叉连接和内连接 交叉连接:获得所有学生和课程的组合 SELECT StdName,EleName FROM Student,Elective 或: SELECT StdName,EleName FROM Student CROSS JOIN Elective 内连接:查询所有学生的姓名和所选课程名 SELECT a.StdName,b.EleName FROM Student a,Elective b,Student_Elective c WHERE a.StdId=c.StdId AND b.EleId=c.EleId 或: SELECT a.StdName,c.EleName FROM Student a JOIN Student_Elective b ON a.StdId=b.StdId JOIN Elective c ON c.EleId=b.EleId 例:外连接 查询所有学生的姓名以及选修的课程号,对没有选课的学生,课程号显示为NULL,其查询语句为: SELECT a.StdName,b.EleId FROM Student a LEFT JOIN Student_Elective b ON a.StdId=b.StdId 或: SELECT a.StdName,b.EleId FROM Student a,Student_Elective b WHERE a.StdId*=b.StdId 或: SELECT a.S

文档评论(0)

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

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

1亿VIP精品文档

相关文档