以下是我试图回答的提示:为什么我的嵌套查询语句不工作?
编写嵌套语句以列出与Larry Smith具有相同工作的员工的名字和姓氏。
下面是雇员表列:
EMPLOYEE(Emp_Num,emp_lname的,Emp_Fname,Emp_Initial,Emp_HireDate,JOB_CODE)
以下是我的嵌套查询:
select emp_fname, emp_lname
from EMPLOYEE
where job_code =
(select job_code
from employee
where emp_fname = 'larry'
and emp_lname = 'smith');
为什么这不工作?
出了什么问题?是否有错误讯息? – showdev
你的查询对我来说很好。我宁愿将查询写成连接或使用'EXISTS'子查询,但这是完全有效的。唯一的问题是如果子查询返回多行。在这种情况下,这不仅仅是我的偏好,而且实际上更好的是切换到真正的“JOIN”。对使用IN的子查询和使用IN的子查询使用'IN'的查询难以理解和修改,而且完全没有必要!专家SQL编写者不会以这种方式编写查询。 – ErikE
感谢您的评论,它不工作的原因是因为我删除了“拉里史密斯”是其中之一的一些元组。另外,我被告知你总是可以做一个嵌套查询,而不是一个连接,因为它使用较少的资源。 –