这可以返回一个名字:
SELECT Fname, Lname FROM EMPLOYEE WHERE dno = 4 AND Ssn = 999887777;
返回员工的姓名。
但这没有任何回报:
SELECT Fname, Lname FROM EMPLOYEE WHERE dno = 4 AND Ssn = (SELECT essn FROM WORKS_ON);
我想获得4号部门员工SSN在WORKS_ON表中找到的所有员工的姓名。
' ESSN'和' Ssn'是9个字符的文本字段,可以在其他上下文中使用。
答案 0 :(得分:3)
您无法使用=
将值与返回多个值的子查询进行比较。
判断子查询结果中是否Ssn
的方法是使用IN
:
SELECT Fname, Lname
FROM EMPLOYEE
WHERE dno = 4
AND Ssn IN (SELECT essn FROM WORKS_ON);