是否可以使用子查询编写下面的代码而不使用JOIN语句?
SELECT Nurse_no, Nurse.Name, Auxilary_No, Patient.Name
FROM Nurse LEFT OUTER JOIN Patient
ON Nurse_no = Agency_Nurse_No;
非常感谢任何帮助。
本
答案 0 :(得分:3)
你可以这样做:
select
nurse_no,
nurse.name,
auxiliary_no,
(select name from patient where agency_nurse_no = nurse_no) as PatientName
from
nurse
但是,MySQL并没有很好地优化子查询,并且连接速度可能要快得多。基准测试将告诉你哪一个获胜,但这是我的猜测。
答案 1 :(得分:2)
是的,但JOIN可能会更快。
SELECT Nurse_no, Nurse.Name, Auxilary_No, (select Name from Patient where agency_nurse_no = Nurse.Nurse_no) as PatientName
FROM Nurse;
我不是SQL专家,但我希望JOIN操作的执行速度比可能每行执行的子查询要快得多。