2017-08-29 57 views
1

我需要執行以下操作:創建一個使用子查詢的SQL命令。 SQL新功能

編寫一條SQL命令,使用子查詢爲生活在郊區以外的客戶檢索所有客戶數據,而客戶的姓氏不是「Stevens」住。

SELECT * FROM CustDetails 
WHERE LName <> Stevens 

這是正確的做法嗎?

這裏的表設計的截圖:Table design

+1

使用'!='而不是'<>'因爲它看起來更酷....大聲笑! –

+0

請張貼您的表格結構以及您嘗試過的任何其他努力。您目前的查詢幾乎肯定是錯誤的,因爲我認爲您至少需要一個子查詢才能得到您想要的答案。 –

+0

閱讀你的問題,我想你錯過了這部分'生活在郊區以外'。所以我認爲你需要添加第二個條件:'選擇*從CusDetails哪裏LName <>'Steven'AND LStay ='suburb'' – Jacky

回答

1

使用子查詢,以確定其中史蒂文斯居住的所有郊區。然後排除居住在這些郊區的任何客戶。

;WITH steven_suburbs AS (
SELECT DISTINCT 
Suburb 
FROM 
CustDetails 
WHERE 
LName = ‘Stevens’) 
SELECT 
c.* 
FROM 
CustDetails AS c 
    LEFT JOIN 
steven_suburbs AS s 
    ON 
    c.Suburb = s.Suburb 
WHERE 
s.Suburb IS NULL