我在努力学习 SQL .我有个问题 JOIN 我想展示 ref_id, pro_name, class_name 但我不能。我找到了有效的解决办法。我的查询(不起作用)
SQL
JOIN
ref_id, pro_name, class_name
SELECT ref_id, pro_name, class_name FROM RC, RP, PP, LP WHERE RC.ref_id = RP.ref_id
xhv8bpkk1#
避免使用逗号 CROSS JOIN 你可以用 JOIN 改为逗号这样地。
CROSS JOIN
SELECT RP.ref_id, PP.pro_name, LP.class_name FROM RP LEFT JOIN RC ON RC.ref_id = RP.ref_id LEFT JOIN PP ON PP.pro_id = RP.pro_id LEFT JOIN LP ON LP.lec_id = RP.lec_id
s71maibg2#
不要在句子中使用逗号 FROM 条款。始终使用适当的、明确的、标准的 JOIN 语法。你似乎想要:
FROM
select rp.pro_id, pp.pro_name, lp.class_name from rp left join pp on rp.pro_id = pp.pro_id left join lp on rp.lec_id = lp.lec_id;
注意使用 left join . 这样可以确保所有行都在结果集中,即使其中一个或另一个联接没有找到匹配的记录。据我所见,table rc 不需要回答这个具体问题。
left join
rc
2条答案
按热度按时间xhv8bpkk1#
避免使用逗号
CROSS JOIN
你可以用JOIN
改为逗号这样地。
s71maibg2#
不要在句子中使用逗号
FROM
条款。始终使用适当的、明确的、标准的JOIN
语法。你似乎想要:
注意使用
left join
. 这样可以确保所有行都在结果集中,即使其中一个或另一个联接没有找到匹配的记录。据我所见,table
rc
不需要回答这个具体问题。