当前位置: 首页 > 面试题库 >

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

马浩淼
2023-03-14
问题内容

第一次问有关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有关,还是可以使用常规查询找到它??

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


问题答案:

这应该做的工作

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;


 类似资料:
  • 问题内容: 我有3个bean:组织,角色,用户 角色-组织关系-@ManyToOne 角色-用户关系-@ManyToMany 组织机构: 角色: 用户名: 因此,我需要获取指定用户的所有组织(首先,我需要选择所有用户角色,然后选择具有此角色的所有组织) 我有一个实现此逻辑的sql语句(例如,我选择id = 1的用户): 如何使用hibernate命名查询机制实现此目的?谢谢! 问题答案: @Nam

  • 问题内容: 在我的数据库中有4个关系表,想加入它们以获取总价值…例如,我有朋友,家人,关注者和熟人,并希望加入这些以获得“ ALL”值。 表格格式如下: 朋友们 家庭 下列的 熟人 是联接所有4个表的正确查询… 基本上,我想从其中id =我的id的所有四个表中检索“ following”(跟随)值 问题答案: 如果 所有表 都具有与Friends表的链接,则当前查询仅列出结果。我相信您正在寻找类似

  • 问题内容: 遇到了一些严重的问题,无法解决如何针对我的情况建立适当的查询。.可以肯定的是,这取决于正确地连接表,但是经过大量的谷歌搜索之后,我似乎无法弄清楚… 我有下表。 和… 和… 希望我能够正确解释这一点。.我在Main中有一堆记录,我需要从中获取信息。.我需要能够对WhenDate和TypeID进行过滤。我还需要从链接到StatusID的状态表中获取StatusText。 问题: 次要表链接

  • 问题内容: 我试图在一个视图中联接3个表;情况如下: 我有一张桌子,其中包含正在申请住在此大学校园的学生的信息。我还有另一个表格,列出了每个学生的“大厅偏好设置”(其中有3个)。但是这些首选项只是一个ID号,并且ID号在第三张表中有一个对应的Hall Name(不是设计此数据库…)。 差不多,我在桌子上看到了他们的偏好和他们的信息,结果是… 哪里会是。所以现在我想将其与第三个表匹配,该表包含一个和

  • 问题内容: 对于开发人员何时使用联接而不是子查询是否有经验法则还是相同的? 问题答案: 取决于RDBMS。您应该比较两个查询的执行计划。 根据我对Oracle 10和11的经验,执行计划始终是相同的。

  • 问题内容: 我想使用中的多个表中的数据。我有两种从服务器下载数据的想法,一种方法是使用联接和检索数据,一种方法是分别下载数据帧并使用pandas.merge合并它们。 当我想将数据下载到。 熊猫合并 哪一个更快?假设我要对2个以上的表和2个列执行此操作。有什么更好的主意吗?如果有必要知道我使用。 问题答案: 前者比后者快。前者仅需对数据库进行一次调用,并返回已加入并已过滤的结果。但是,后者对数据库