3
嗨有可能将此子查询转换为加入吗?将子查询转换为加入
SELECT staff_no
FROM doctor
WHERE NOT EXISTS (SELECT *
FROM patient
WHERE staff_no = consultant_no);
嗨有可能将此子查询转换为加入吗?将子查询转换为加入
SELECT staff_no
FROM doctor
WHERE NOT EXISTS (SELECT *
FROM patient
WHERE staff_no = consultant_no);
SELECT staff_no
FROM doctor
LEFT JOIN
patient
ON staff_no = consultant_no
WHERE consultant_no IS NULL
对于这是高效,consultant_no
应该被索引并宣布为NOT NULL
。
如果不是,请选取患者中声明为NOT NULL
的任何列,并将替换为WHERE
子句中的此列。
请参阅本文中我的博客的三种方法比较MySQL
为此查询:
SELECT staff_no
FROM doctor
LEFT JOIN patient
ON staff_no = consultant_no
WHERE consultant_no IS NULL