2
我有表shop
與Email
列。T-SQL:[列]不像[從另一個選擇的任何值]
另外我還有另一個表Unsubscribed
與EmailPattern
列。
如何才能選擇只與Email
列的商店列不匹配任何EmailPattern
值從Unsubscribed
表?
例子:
退訂有這些記錄:
aaa
bbb
ccc
我希望像結果:
select *
from Shop
where Email not like "%aaa%"
and Email not like "%bbb%"
and Email not like "%ccc%"
請備份你的斷言,它更有效率。您發佈的查詢使用帶有過濾器的左連接運算符; WHERE NOT EXISTS直接使用左反半連接。隨着您向#Shop添加更多行,贊成後者的(輕微)性能差異會增加。在MS-SQL 2008和2012上進行測試。 –
另請參閱:http://www.sqlperformance.com/2012/12/t-sql-queries/left-anti-semi-join –
在本文中有很好的閱讀,感謝鏈接。我不知道這種方法。我的主張已被刪除。 – laylarenee