使用Oracle加入4个表

问题描述 投票:1回答:2

我在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

database oracle dml
2个回答
0
投票

你需要一个简单的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是相应表格中的主键。


0
投票

考虑哪个是您的主要表格。如果是学生,则使用LEFT Join,加入表格:

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

© www.soinside.com 2019 - 2024. All rights reserved.