希望有人能帮忙,我用过搜索,但答案超出了我们的范围。
我想用下面的代码调出“在格拉斯哥或阿伯丁看房的工作人员”:
SELECT s.fName, s.lName, propertyNo
FROM Staff s, PropertyForRent p
WHERE s.staffNo = p.staffNo
AND city = 'Glasgow' OR 'Aberdeen';
只有格拉斯哥被归还了……我也试过了,但没有任何回报。我对这个完全陌生,所以我知道我错过了一些非常基本的东西。
最佳答案
SELECT s.fName, s.lName, propertyNo
FROM Staff s, PropertyForRent p
WHERE s.staffNo = p.staffNo
AND (city = 'Glasgow' OR city='Aberdeen');
这也可以重写为
SELECT s.fName, s.lName, propertyNo
FROM Staff s, PropertyForRent p
WHERE s.staffNo = p.staffNo
AND city in('Glasgow', 'Aberdeen');
但是,您应该使用适当的连接结构让优化器完成它的任务
SELECT s.fName, s.lName, propertyNo
FROM Staff s
INNER JOIN PropertyForRent p ON s.staffNo = p.staffNo
WHERE (city = 'Glasgow' OR city='Aberdeen');