SELECT staffNO, name, surname, position
FROM Staff s, Branch b
WHERE s.branchNo = b.branchNo AND city = 'London';
我试图将上面的SQL代码变成子查询,但我没有得到任何结果。我是SQL的初学者,我该怎么做呢?
答案 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
语法。