第4章 数据操L.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 数据操L

4.1 数据查询功能 重要性和必要性 查询的工作原理和分类: 工作原理: 从数据库中检索出满足条件的数据,以关系的形式返回结果 分类: 精确查询、模糊查询 单表查询、多表查询(简单查询、复杂查询) 简单查询: 一、查询所有记录 SELECT 目标列名序列 FROM 数据表 1、使用通配符*; 2、使用表达式; 3、修改、添加查询结果中的列名; 4、增加说明性常数列; 二、有条件的查询特定纪录 利用where 条件表达式 SELECT 目标列名序列 - -需要哪些列,用于指定输出的字段 FROM 数据源 - -来自于哪些表,用于指定数据的来源 [WHERE 检索条件表达式] - -根据什么条件,用于指定数据的选择条件 1、精确查询 2、模糊查询 三、查询结果的排序 利用order by 列名 desc|asc 四、对查询结果进行统计 SQL提供的计算函数有: COUNT(*):统计表中元组个数; COUNT(列名):统计本列列值个数; SUM(列名):计算列值总和(必须是数值型列); AVG(列名):计算列值平均值(必须是数值型列); MAX(列名):求列值最大值; MIN(列名):求列值最小值. 五、对查询结果进行分组、统计 利用group by 列名 六、对分组统计的查询结果进行条件过滤 利用group by 列名 having 条件 多表连接查询 在数据库的应用中,经常需要从多个相关的表中查询数据,这就需要使用连接查询 。 1.内连接(Inner join) 内连接也叫自然连接,它是组合两个表的常用方法。自然连接将两个表中的列进行比较,将两个表中满足连接条件的行组合起来,作为结果。自然连接有两种形式的语法。 语法一: SELECT 列 FROM 表1,表2 WHERE 表1.列=表2.列 语法二: SELECT 列 FROM 表1 JION 表2 ON 表1.列=表2.列 *为表指定别名可以简化语句的书写 2.外连接(Outer join) 在自然连接中,只有在两个表中匹配的行才能在结果集中出现。而在外连接中可以只限制一个表,而对另外一个表不加限制(即所有的行都出现在结果集中)。 外连接分为左外连接、右外连接。 左外连接是对连接条件中左边的表不加限制; 右外连接是对右边的表不加限制。 左外连接的语法为: SELECT 列 FROM 表1 LEFT [OUTER] JOIN 表2 ON 表1.列1=表2.列2 右外连接的语法为: SELECT select_list FROM 表1 RIGHT [OUTER] JOIN 表2 ON 表1.列1=表2.列2 3、 自连接(Self join) 连接操作不仅可以在不同的表上进行,而且在同一张表内可以进行自身连接,即将同一个表的不同行连接起来。 自连接可以看作一张表的两个副本之间的连接。在自连接中,必须为表指定两个别名,使之在逻辑上成为两张表。 数据表route select distinct firstr.num,firstr.stop,secondr.stop from route firstr,route secondr where firstr.num=secondr.num and firstr.stopsecondr.stop order by firstr.num select distinct firstr.num,firstr.stop,secondr.stop from route firstr join route secondr on firstr.num=secondr.num where firstr.stopsecondr.stop order by firstr.num 数据表course select firstc.cno,firstc.cname,secondc.pcno as ppcno,secondc.cname as ppcname from course firstc,course secondc where firstc.pcno=secondc.cno  select firstc.cno,firstc.cname,secondc.pcno as ppcno,secondc.cname as ppcname from course firstc join course secondc on firstc.pcno=secondc.c

文档评论(0)

jixujianchi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档