我必须做以下工作:
编写一个SQL命令,该命令使用子查询检索居住在郊区的客户的所有客户数据,而不是居住在姓氏为“Stevens”的任何人居住的地方。
SELECT * FROM CustDetails
WHERE LName <> Stevens
这是正确的做法吗?
这是桌子设计的截图:Table design
最佳答案
使用子查询来标识史蒂文斯居住的所有郊区。然后排除住在这些郊区的任何客户。
;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