Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将子查询转换为联接_Sql_Mysql - Fatal编程技术网

Sql 将子查询转换为联接

Sql 将子查询转换为联接,sql,mysql,Sql,Mysql,您好,是否可以将此子查询转换为联接 SELECT staff_no FROM doctor WHERE NOT EXISTS (SELECT * FROM patient WHERE staff_no = consultant_no); 为了有效地执行此操作,consultant\u no应编制索引并声明为notnull 如果不是,则在患者中选择任何声明为非空的列,并在WHERE子句中用此列替换顾问号 请参阅我博客中的这篇

您好,是否可以将此子查询转换为联接

SELECT staff_no
FROM doctor
WHERE NOT EXISTS (SELECT *
                  FROM patient
                  WHERE staff_no = consultant_no);
为了有效地执行此操作,
consultant\u no
应编制索引并声明为
notnull

如果不是,则在患者中选择任何声明为
非空的列,并在
WHERE
子句中用此列替换
顾问号

请参阅我博客中的这篇文章,比较在
MySQL
中执行此查询的三种方法:

SELECT  staff_no
FROM    doctor
LEFT JOIN
        patient
ON      staff_no = consultant_no
WHERE   consultant_no IS NULL
   SELECT staff_no
     FROM doctor
LEFT JOIN patient
       ON staff_no = consultant_no
    WHERE consultant_no IS NULL