查询不使用不存在

时间:2014-01-09 16:42:48

标签: not-exists

如何通过不使用不存在来重写以下查询,并且性能优于使用不存在

SELECT m.member
  FROM  member        m
 WHERE 1 = 1
   AND NOT EXISTS (
       SELECT NULL
         FROM history c
            , tender  t
      WHERE 1 = 1
        AND c.card_type        =  t.tender_type
        AND c.member           =  m.member
       AND 1 = 1 )
    AND 1 = 1;

感谢所有人的帮助。

1 个答案:

答案 0 :(得分:0)

您还没有描述您要解决的问题。

看起来您可能正在尝试获取没有历史记录的成员列表?

select 
    m.member
from 
    member m
    left join history c on c.member = m.member
where
    c.member is null

为您的问题添加说明可能会有所帮助。您能提供表格的DDL并用英语解释您希望查询返回的内容吗?