好的。我在一個表中有一些數據,多次引用另一個表中的一些數據。SQL選擇何時不在連接表中
表1 - 主客戶機表 表2 - 用戶定義的字段
說我有一個查詢,示出了從表1和所有連接/使用的「用過定義的字段」從表2
SELECT t1.Id, t2.udf
FROM Table1 t1
JOIN Table2 t2 ON t1.Id = t2.Index
WHERE t1.EndDate IS NULL AND
t1.Id = '1234.9876' AND
客戶端ID我會得到下面的結果...
ID UDF
1234.9876 100
1234.9876 110
1234.9876 118
1234.9876 124
1234.9876 198
1234.9876 256
現在,說我想查詢同樣的事情,並得到客戶的唯一標識,但在LY如果t2.udf等於'194'的值不存在。所以,我會簡單地得到
ID
1234.9876
...因此。
幾乎在所有情況下,+1 ['NOT EXISTS'都是最好的](http://www.sqlperformance.com/2012/12/t-sql-queries/left-anti-semi-join)。 – 2013-03-25 20:44:56
@AaronBertrand如果Table2在連接列上與Table1有FK關係,並且該列是Table2上的一個組合PK的一部分,那麼是否有左連接命中? – Paparazzi 2013-03-25 21:11:39
這完全是我所需要的。我之前使用過LEFT JOIN,但從來沒有這種方式。你每天都會學到新的東西,嗯?非常非常感謝你。你是一個拯救生命的人。 – user2208914 2013-03-26 12:41:59