2013-05-22 32 views
0
SELECT staffNO, name, surname, position 
FROM Staff s, Branch b 
WHERE s.branchNo = b.branchNo AND city = 'London'; 

我試圖將上面的SQL代碼轉換爲子查詢,我沒有得到任何地方。我是一個SQL初學者,我該怎麼做呢?製作一個子查詢FROM兩個表

+1

你會收到任何錯誤信息嗎? –

+0

我試着用WHERE EXSIST()聲明.. –

+0

沒有代碼的作品,但我想嘗試它作爲子查詢.. –

回答

4

與子查詢和IN子句等效的查詢應該是這樣的:

SELECT staffNO, name, surname, position 
FROM Staff s 
WHERE s.branchNo IN (
    SELECT b.branchNo 
    FROM Branch b 
    WHERE b.city = 'London' 
); 

當然,這是假設staffNO, name, surname, position都可作爲對Staff表字段。如果這些字段中的任何一個來自Branch,那麼您確實需要使用JOIN語法。

+0

謝謝,我會嘗試.. –

+0

我現在看到我的錯誤..我以前使用WHERE s.branchNo EXISTS(選擇b.branchNo從分支b),無法弄清楚如何包括城市。再次感謝 –