Mysql 困难的查询-如此接近,但还不太清楚

Mysql 困难的查询-如此接近,但还不太清楚,mysql,join,Mysql,Join,解释这一点最简单的方法是为你们画出两张表-就这样 sl_project_course project_id | course_id 50 1 sl_course professor_id | course_id | course_name 1 1 "history" 1 2 "law"

解释这一点最简单的方法是为你们画出两张表-就这样

sl_project_course project_id | course_id 50 1 sl_course professor_id | course_id | course_name 1 1 "history" 1 2 "law" 1 3 "art" 1 2 "law" **我的尝试:**

$sql_course_not_in_project = "SELECT C.course_id, C.course_subject
FROM sl_course C
LEFT OUTER JOIN sl_project_course PC on PC.project_id = 50
WHERE C.course_id <> PC.course_id AND C.professor_id = 1";
$sql\u课程\u不在项目中=“选择C.course\u id,C.course\u主题
来自sl_课程C
左侧外部连接sl_项目\u课程PC上的PC。项目\u id=50
其中C.course\u id PC.course\u id和C.professor\u id=1”;
这是可行的,除非在sl_项目_课程中有两行,否则查询将无法正常工作。 谢谢你的帮助

谢谢

埃文

$sql_course_not_in_project = "SELECT C.course_id, C.course_subject
FROM sl_course C
LEFT OUTER JOIN sl_project_course PC on PC.project_id = 50
WHERE C.course_id <> PC.course_id AND C.professor_id = 1";
SELECT c.course_id, c.course_subject
    FROM sl_course c
        LEFT JOIN sl_project_course pc
            ON c.course_id = pc.course_id
                AND pc.project_id = 50
    WHERE c.professor_id = 1
        AND pc.course_id IS NULL