zoukankan      html  css  js  c++  java
  • SQL 查询时join的顺序问题

             在我们工作中时常要写查询语句,那么left join和right join 是查询语句中常见的关联关系。可是我们在使用它们时,有没有想过怎么样去做关联,怎么样选择它们的顺序呢?

    比如:A表关联B 表,A也要关联C表,A和B关联时,B和A关联时可能会有Null值出现,也允许Null出现,A和C关联不能有Null值,那么我们先想一想应该怎么样处理它们呢?

    可能你会说这还不简单啊,如下所示:

    实现1:

    select * from C inner join A 

    on C.ID=A.ID

    Left Join B

    on A.Code=B.Code

    实现2:

    select * from A Left Join B

    on A.Code=B.Code

    inner join C

    on A.ID=C.ID

    实现3:

    select * from B Right Join A

    on A.Code=B.Code

    inner join C

    on A.ID=C.ID

    随便列出的这3中方式,那一直比较好呢?

    根据目前的情况来看,如果数据量相当时,先做inner join,然后再

    left join 和right join这样可以提供查询的效率。

    不过也要结合实际情况来看。一般来讲我们都会优先选择实现1.

  • 相关阅读:
    杨辉三角
    100以内的素数
    九九
    MyDate
    计算器
    100以内素数
    杨辉三角形
    九九乘法表
    窗口关闭事件
    计算器界面
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2776041.html
Copyright © 2011-2022 走看看