【问题标题】:Trouble with Joins (SQL on Oracle)连接问题(Oracle 上的 SQL)
【发布时间】:2023-03-22 14:46:01
【问题描述】:

我有几张桌子:

See them here

我需要从他们俩那里获取一些数据。我必须列出 2014 年以来的所有计算机科学校友(来自 AlumnusDeg 表),并包括他们的姓名电子邮件和家庭电话号码(来自 Alumnus 表)。

以下代码返回 2014 年计算机科学校友:

SELECT * FROM AlumnusDeg 
WHERE DegreeName LIKE '%Computer Science%' 
AND YearGraduated = '2014';

但是,所有其他获取剩余 FirstName、LastName、Email 和 HomeNo 的尝试都不起作用。

最后,我必须将其创建为视图。

【问题讨论】:

  • Alumnus 和 AlumnusDeg 之间没有联系,还有更多的表吗?
  • 不清楚这些表是如何连接的...
  • 这是我所有表格的布局s14.postimg.org/ruvlgfn9d/erd.png
  • 另外,AlumniID 在两张表上是相同的,AlumniID 是 Alumnus 的外键
  • 如果 Tatiana 的回答解决了您的问题,我建议您将其标记为已接受(通过单击旁边带有复选标记图标的按钮)。

标签: sql oracle join view


【解决方案1】:

据我了解,您需要简单的加入

SELECT * 
FROM AlumnusDeg ad JOIN Alumnus a on ad.alumniid=a.alumniid
WHERE DegreeName LIKE '%Computer Science%' 
AND YearGraduated = '2014';

【讨论】:

    【解决方案2】:
    SELECT ad.*, FirstName, LastName, Email, HomeNo
    FROM alumnus a
    INNER JOIN alumnusdeg ad ON a.AlumniID = ad.AlumniID
    WHERE DegreeName LIKE '%Computer Science%' 
    AND YearGraduated = '2014';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      相关资源
      最近更新 更多