2016-04-22 139 views
1

我沒有一個這樣的例子,但我只是想知道,如果這樣的事情是在任何情況下有效:你可以在where子句中有多個子查詢嗎?

SELECT somefield 
FROM sometable 
WHERE something1 IN (SELECT somefield2 FROM sometable2) 
    AND something2 IN (SELECT somefield3 FROM sometable3) 

回答

0

是。您的語法需要修正:

SELECT somefield 
FROM sometable 
WHERE something1 IN (SELECT somefield2 FROM sometable2)       
AND something2 IN (SELECT somefield3 FROM sometable3) 
1

在一個字 - 是的。無論where條款是否具有in條件,您都可以在條件中創建儘可能多的條件。

+0

但請記住一件事。雖然可以儘可能多地存在條件/子查詢,但您可能會遇到性能問題。 – Leptonator

+0

@Leptonator視圖不會影響性能,除非它們在大多數RDBMS中無法實現 –

+0

@ThomasG - 剛剛刪除了對視圖的引用。 – Leptonator