SQL select 三张表和外键

SQL select with three tables and foreign keys

我有三张表:

字段:

f_id f_start f_end
1 10 20
2 15 25
3 5 10

人:

p_id p_name
1 Roger
2 John
3 Alicia

影响:

id fk_field fk_person
1 2 1
2 1 2
3 3 3

而且我想 select 关联日期和名称。像这样

p_name f_start f_end
Roger 15 25
John 10 20
Alicia 5 10

我是 SQL 的新手,我不知道是否必须使用 JOIN...谢谢

您必须在相关列上联接所有 3 个表:

SELECT p.p_name, f.f_start, f.f_end
FROM person p
INNER JOIN affect a ON a.fk_person = p.p_id
INNER JOIN field f ON f.f_id = a.fk_field;

根据您的要求,您可能需要 LEFT 而不是 INNER 联接,但对于此示例数据,INNER 联接就可以了。