我有五個結果從表中檢索,我想寫一個存儲過程,將返回所有需要的行。如何在where子句中爲列添加多個條件?
我可以編寫查詢這樣的暫時:
Select * from Table where Id = 1 OR Id = 2 or Id = 3
我認爲我需要得到的Id
s到分割清單,但我怎麼寫WHERE
條款?
我有五個結果從表中檢索,我想寫一個存儲過程,將返回所有需要的行。如何在where子句中爲列添加多個條件?
我可以編寫查詢這樣的暫時:
Select * from Table where Id = 1 OR Id = 2 or Id = 3
我認爲我需要得到的Id
s到分割清單,但我怎麼寫WHERE
條款?
所以,如果你只是想學習SQL,這是一個很好的例子,以瞭解IN
運算符。以下查詢與您的嘗試結果相同。
SELECT *
FROM TABLE
WHERE ID IN (SELECT ID FROM TALBE2)
這意味着什麼是你的嘗試。從你的嘗試來看,這可能是你理解的最簡單的版本。雖然,在未來我會推薦使用JOIN
。
A JOIN
與前面的代碼具有相同的功能,但將是一個更好的選擇。如果你是好奇閱讀更多有關JOINs
,這裏是從最重要的來源
另一種方式來做到這幾個環節。 inner join
將僅包含來自T1的行,與來自T2的行通過Id
字段匹配。
select T1.* from T1 inner join T2 on T1.Id = T2.Id
加入默認情況下比嵌套選擇更好。 – djechlin
'where id in(...)'? –