【问题标题】:Join using 4 tables using Oracle使用 Oracle 连接使用 4 个表
【发布时间】:2019-08-13 00:48:00
【问题描述】:

我在 oracle 数据库中有 4 个表:学生、国家、省、区

---------------------------------------------------------------------------
student : student_id,student_name,country_id,province_id,district_id

country : country_id, country_name

province : country_id, province_id, province_name

district : country_id, province_id, district_id, district_name
---------------------------------------------------------------------------

我想使用 join 显示以下字段:student_name,country_name,province_name,district_name

【问题讨论】:

  • 看来您只需要简单的JOIN 即可完成您的工作。请参考w3school_join

标签: database oracle dml


【解决方案1】:

你需要一个简单的INNER JOIN:

select s.student_name, c.country_name, p.province_name, d.district_name 
from student s
  join country c on s.country_id = c.country_id
  join province p on p.province_id = s.province_id
  join district d on d.district_id = s.district_id;

假设country_idprovince_iddistrict_id是对应表中的主键。

【讨论】:

    【解决方案2】:

    考虑哪个是您的主表。 如果是学生,则使用左连接,加入表格:

    SELECT S.student_name,
    C.country_name,
    P.province_name,
    D.district_name
    FROM student S LEFT JOIN country C ON S.country_id=C.country_id
    LEFT JOIN province P S.province_id=P.province_id 
    LEFT JOIN district D S.district_id=D.district_id
    
    

    【讨论】:

      猜你喜欢
      • 2015-12-28
      • 1970-01-01
      • 2020-09-06
      • 2017-05-02
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      相关资源
      最近更新 更多