SQL数据库多表连接详细讲解..docVIP

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

SQL多表连接 应用背景 数据库是由多张表组成的存储结构,并通过多张表之间的关系建立起完整的有效的数据存储形式,形成关系型数据库。作为数据查询语言SQL,提供了功能强大的数据表连接查询功能,使多张表格之间形成有效的数据联系,使得关系数据库在大型数据库应用中占据了主角地位。 一个普通的大型数据库应用程序所使用的数据库中,有多达几百张表的数据,那么如何将这些表高效的有机的联系起来,就成为设计关系数据库的一个重要指标。优良的数据库设计指标包括: 1.减少数据冗余,去除掉多余的数据冗余,可以通过建立表之间的连接关系完成。 2.数据更新正确,不能因为表之间存在关系后,使得更新记录出现不正常的数据。 3.添加数据正常,添加数据过程中,应该保持数据表之间的关系,确定表之间的连接。 4.查询简便灵活,在建立数据连接的查询过程中,连接清晰简便,操作灵活准确。 数据库设计是应用软件成功与否的一项重要标志。设计数据库,除与系统分析结果,设计员的水平等有关外,还可以参考一些规范的设计范式,下面简单介绍数据库的2个基本设计范式: 1.第一范式:要求表的每列都是不可再分的简单数据项,所以1对N关系就必须用多表表示,而不能用一张表表示。 2.第二范式:表中的每一个非主键列必须完全函数依赖于主键,就是说表中除主键之外的其他列,都必须通过主键能够唯一确定。 数据库的设计非常复杂,没有一成不变的东西,需要就地取材,解决问题,简单化问题。 知识要点 (1) 传统连接 连接就是将多个表中的数据连接到一起的查询,即连接操作可以在一个Select语句中完成从多个表中查找和处理数据,使用连接时可以使用名字相同的不同表的列,也可以不同,但要求连接的列不需可连接,即数据类型相同。 传统的连接语法如下: Select * from Tblname1 T1,Tblname2 T2 where T1.column=T2.column 连接SQL语句的明显标志为在From子句后边,有多个表Tblname1, Tblname2 ,Where子句后有表连接键T1.column=T2.column。 例1:以销售单据为例,察看每个销售单据的真实客户姓名,单据号,单据金额,销售代表等信息。Select 语句如下: SELECT T1.rid, T1.cid, T2.cname, T1.rmoney, T1.remployee FROM retail T1 , customer T2 where T1.cid = T2.cid 查询结果如下: rid cid cname rmoney remployee 1 kh01 张经理 1200 liuhong 2 kh02 李经理 1600 liuhong 3 kh01 张经理 1600 liuhong 4 kh01 张经理 3200 zhangling 5 kh02 李经理 1800 zhangling 例2:以销售明细为例,查询每个销售明细记录的真实产品名称,产品的零售单价,实际销售单价,销售金额等等信息,Select语句如下: SELECT T1.rid, T1.pcode, T2.pname, T2.ptype, T2.pprice, T1.dprice,T1.dmoney FROM Detail T1 ,product T2 where T1.pcode = T2.pcode 查询结果如下: rid pcode pname ptype pprice dprice dmoney 1 001 motorola V30 2800 1200 2400 1 002 sony C30 3200 2400 4800 1 003 nokia sony6110 4500 1500 1500 2 002 sony C30 3200 2200 4400 2 003 nokia sony6110 4500 1500 3000 3 001 motorola V30 2800 1200 2400 3 002 sony C30 3200 2300 4600 3 003 nokia sony6110 4500 1500 3000 例3:多表连接,建立查询销售单据与销售明细连接,销售明细中的产品代码与产品信息中的代码

文档评论(0)

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

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

1亿VIP精品文档

相关文档