• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

SQL连接查询知识

发布: 2011-3-11 09:23 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 55次 | 进入软件测试论坛讨论

领测软件测试网

  ON条件:是过滤两个链接表笛卡尔积形成中间表的约束条件。

  WHERE条件:在有ON条件的SELECT语句中是过滤中间表的约束条件。在没有ON的单表查询中,是限制物理表或者中间查询结果返回记录的约束。在两表或多表连接中是限制连接形成最终中间表的返回结果的约束。

  从这里可以看出,将WHERE条件移入ON后面是不恰当的。推荐的做法是:

  ON只进行连接操作,WHERE只过滤中间表的记录。

  八、总结

  连接查询是SQL查询的核心,连接查询的连接类型选择依据实际需求。如果选择不当,非但不能提高查询效率,反而会带来一些逻辑错误或者性能低下。下面总结一下两表连接查询选择方式的依据:

  1、 查两表关联列相等的数据用内连接。

  2、 Col_L是Col_R的子集时用右外连接。

  3、 Col_R是Col_L的子集时用左外连接。

  4、 Col_R和Col_L彼此有交集但彼此互不为子集时候用全外。

  5、 求差操作的时候用联合查询。

  多个表查询的时候,这些不同的连接类型可以写到一块。例如:

  SELECT T1.C1,T2.CX,T3.CY

  FROM TAB1 T1

  INNER JOIN TAB2 T2 ON (T1.C1=T2.C2)

  INNER JOIN TAB3 T3 ON (T1.C1=T2.C3)

  LEFT OUTER JOIN TAB4 ON(T2.C2=T3.C3);

  WHERE T1.X >T3.Y;

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

55/5<12345

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网