`
dadaozei
  • 浏览: 13379 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Left Join 比 Inner join 快

阅读更多

SELECT A.ID As ID1,E.Name KJWL,F.ZWMC SJRGJ,B.*,C.Number,C.NAME,
(CASE WHEN B.PPCC <> 'CC' THEN
(CASE WHEN IsNull(KHYZHJE,0)<>0 THEN (IsNull(KHYZHJE,0)-IsNull(ZWLSFJE,0))/IsNull(KHYZHJE,0) ELSE 0 END)
ELSE
(CASE WHEN IsNull(ZWLSFJE,0)<>0 THEN (IsNull(ZWLSFJE,0)-IsNull(KHYZHJE,0))/IsNull(ZWLSFJE,0) ELSE 0 END)
END) AS KZMLR,
(IsNull(KHYZHJE,0)-IsNull(ZWLSFJE,0)) AS KZML,
(IsNull(KHYZHJE,0)-IsNull(WLSFJE,0)) AS KFML,
(CASE WHEN B.PPCC <> 'PP' THEN
(IsNull(WLSFJE,0)-IsNull(ZWLSFJE,0))
  Else
    (IsNull(ZWLSFJE,0)-IsNull(WLSFJE,0)) End) AS KJML,
(CASE WHEN B.PPCC <> 'CC' THEN
(CASE WHEN IsNull(KHYZHJE,0)<>0 THEN (IsNull(KHYZHJE,0)-IsNull(WLSFJE,0))/IsNull(KHYZHJE,0) ELSE 0 END)
ELSE
(CASE WHEN IsNull(WLSFJE,0)<>0 THEN (IsNull(WLSFJE,0)-IsNull(KHYZHJE,0))/IsNull(WLSFJE,0) ELSE 0 END)
END) AS KFMLR

FROM W_KHYD A Inner JOIN w_TJB B   ON A.InnerID=B.InnerID
Left JOIN b_KHZLZB C ON A.KHBM=C.InnerID   --关键是这样.如果改成Inner Join时间会超过50秒
LEFT  JOIN B_KJWL E ON A.KJWL=E.InnerID
LEFT JOIN B_GJB F ON A.SJRGJ=F.InnerID
WHERE 
A.YLSJ>(Case WHEN CONVERT(int,IsNull(C.JZR,'26'))>31 THEN '2011-01-31 23:59:59'
WHEN CONVERT(int,IsNull(C.JZR,'26'))<1 THEN '2011-01-26 23:59:59'
ELSE DateAdd(Day,CONVERT(int,IsNull(C.JZR,'26'))-1,'2011-01-01 23:59:59') END)
AND A.YLSJ<=(Case WHEN CONVERT(int,IsNull(C.JZR,'26'))>28 THEN '2011-02-28 23:59:59'
WHEN CONVERT(int,IsNull(C.JZR,'26'))<1 THEN '2011-02-26 23:59:59'

 

 

mark一下..不知道是什么原因.Inner join 反倒没有Left Join 快

分享到:
评论

相关推荐

    inner join、 left join 、right join、 outer join之间的区别

    ### inner join、left join、right join、outer join之间的区别 在数据库操作中,连接(Join)是一种非常重要的操作,用于组合两个或多个表中的数据。根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT ...

    SQL语句left join/right join/inner join 的用法比较

    本篇文章将深入探讨LEFT JOIN、RIGHT JOIN以及INNER JOIN的用法,并通过实例进行对比,帮助理解它们之间的差异。 1. LEFT JOIN(左连接) LEFT JOIN返回所有左表(在本例中为A表)的记录,即使在右表(B表)中没有...

    SQL中的left outer join,inner join,right outer join用法详解

    2. 左外连接(Left Outer Join):包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行。 3. 右外连接(Right Outer Join):包含右边表的全部行(不管左边的表中是否存在与它们...

    left join right join inner join 区别和联系

    左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)是三种最基本的连接类型。在本节中,我们将详细介绍左连接、右连接和内连接的区别和联系。 左连接(LEFT JOIN) 左连接返回左表中的所有行,右表...

    (Left join , Right Join, Inner Join)用法详解

    ### (Left join , Right Join, Inner Join)用法详解 #### 一、基本概念与应用场景 在数据库查询语言SQL中,连接(Join)是一种非常重要的操作,它允许我们结合两个或多个表的数据来检索信息。根据不同的连接方式,...

    DataTable实现leftJoin和rightJoi以及innerJoin

    比较实用的方法,已经用到项目里,很好用的一个方法

    关于sql的left join,right join,inner join,outerjoin

    本篇文章将深入探讨四种基本的JOIN类型:LEFT JOIN(左连接)、RIGHT JOIN(右连接)、INNER JOIN(内连接)以及OUTER JOIN(外连接)。我们将详细解释这些概念,它们的工作原理以及在实际数据库操作中的应用。 1. ...

    SQL left join

    在本文中,我们将详细介绍SQL Left Join的使用方法、特点和区别,以及与Right Join和Inner Join的比较。 一、SQL Left Join的定义和使用 SQL Left Join也称为左外连接,它可以将左表中的所有记录与右表中的记录...

    Mysql之innerjoin,leftjoin,rightjoin详解.pdf

    Mysql 之 inner join、left join、right join 详解 Mysql 中的连接查询是指从多个表中检索数据,并将它们组合成一个结果集。inner join、left join 和 right join 是 Mysql 中三种最常用的连接查询方式。 inner ...

    Left join优化规则的研究

    - 其次,由于 t2 已经与 t3 关联,所以 `t1 LEFT JOIN t2` 可以保持不变,但 t2 与 t3 的 Inner Join 结果可以与 t1 再次进行 Inner Join。 通过这样的优化,查询可以变得更加高效,减少对无效数据的处理。 3. ...

    SQL语句inner join,left join ,right join连接的不同之处

    根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)。本文将详细探讨这三种连接方式的区别,并通过具体的例子来解释它们的应用场景。 ### 内连接...

    hive sql + left join 数据缺失

    INNER JOIN ( SELECT database_name, MAX(dt) AS dt FROM dw.dwm_exhibition_base WHERE database_name = 'fair' GROUP BY database_name ) m ON n.database_name = m.database_name AND n.dt = m.dt WHERE n...

    join on 语句及扩展

    2. LEFT JOIN (或 LEFT OUTER JOIN): LEFT JOIN返回左表(table1)的所有记录,即使右表(table2)没有匹配的记录。如果在右表中没有找到匹配项,结果将用NULL填充来自右表的列。语法: ```sql SELECT columns FROM ...

    from 多张表 等于 left join 其他表.

    标题与描述中的“from多张表等于left join其他表”主要涉及的是SQL查询语句中两种不同的连接方式:内连接(通常在FROM子句后直接使用WHERE子句实现)和左连接(LEFT JOIN)。这两种连接方式在处理多表查询时有着不同...

    sql join( inner join, outer join) 分析

    在这个主题中,我们将深入探讨INNER JOIN和OUTER JOIN,它们是JOIN的两种主要类型。 首先,我们来看INNER JOIN。INNER JOIN返回两个表中匹配的行。这意味着只有当第一个表中的某行与第二个表中的另一行在指定的关联...

    SQL 外链接操作小结 inner join left join right join

    SQL 外链接操作小结 inner join left join right join SQL 外链接操作是关系型数据库管理系统中的一种基本操作,用于从多个表中检索数据。外链接操作可以分为三种:inner join、left join 和 right join。 inner ...

    left join 过滤条件写在on后面和写在where 后面的区别

    - **INNER JOIN**:返回两个表中匹配的行。 - **LEFT JOIN (或 LEFT OUTER JOIN)**:除了返回两个表中匹配的行外,还会返回左表中不匹配的所有行,并将右表的列设置为NULL。 - **RIGHT JOIN (或 RIGHT OUTER JOIN)**...

    inner join 内联与left join 左联的实例代码

    本篇文章将深入探讨两种常见的JOIN类型:INNER JOIN(内联)和LEFT JOIN(左联),并结合实例代码来解析它们的工作原理和用法。 INNER JOIN,也称为内连接,返回的是两个表中满足特定条件的匹配行。换句话说,只有...

    MySQL JOIN 语法说明与 INNER JOIN 语法用法实例.docx

    本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从...

Global site tag (gtag.js) - Google Analytics