一尘不染

3个表的SQL查询(或联接)

sql

第一次问有关Stack Overflow的问题…令人惊讶的资源,但是有一点让我作为SQL的新手感到困惑。

我有三个表,我想获取与鲍勃的学生相关的所有导师的姓名。

表1:老师

================
ID     Name
================
1     Bob

表2:学生

===================================
STUDENT_ID     Name     TEACHER_ID
===================================
1              Jayne    1
2              Billy    5
3              Mark     2

表3:MENTOR_RELATIONSHIPS

==============================
ID     STUDENT_ID    MENTOR_ID
==============================
1      1             3
2      2             2
3      3             3

表4:导师

=====================
MENTOR_ID     Name  
=====================
1            Sally
2            Gillian
3            Sean

我想查询一下鲍勃学生的所有导师。因此,所有学生的导师TEACHER_ID = 1

在这种情况下,肖恩就是结果。

我知道这与Joins有关,还是可以使用常规查询找到它??

任何帮助深表感谢!非常感谢…


阅读 202

收藏
2021-03-08

共1个答案

一尘不染

这应该做的工作

select distinct m.name from students s
inner join mentor_ralationships mr on mr.student_id=s.student_id
inner join mentors m on m.mentoir_id=mr.mentor_id
where s.teacher_id=1;
2021-03-08