是否可以使下面的代码工作。目前它只展示来自“纽约”的员工,而不是来自“芝加哥”的员工。?
SELECT employees.ename, zipcodes.city
FROM employees
LEFT JOIN zipcodes
ON employees.zip=zipcodes.zip
WHERE employees.zip =
(
SELECT zipcodes.zip
FROM zipcodes
WHERE zipcodes.city = 'New York' OR 'Chicago'
)
ORDER BY employees.eno;
提前致谢!
//勒
答案 0 :(得分:1)
使用IN
条件,如下所示:
SELECT employees.ename, zipcodes.city
FROM employees
LEFT JOIN zipcodes
ON employees.zip=zipcodes.zip
WHERE employees.zip IN
(
SELECT zipcodes.zip
FROM zipcodes
WHERE zipcodes.city IN ('New York', 'Chicago')
)
ORDER BY employees.eno
另一种方法(可能更好)是使用JOIN
条件本身而不是子查询,如下所示:
SELECT employees.ename, zipcodes.city
FROM employees
LEFT JOIN zipcodes
ON employees.zip=zipcodes.zip
AND zipcodes.city IN ('New York', 'Chicago')
ORDER BY employees.eno