使用嵌套查询Oracle连接4个表

时间:2018-03-08 20:17:08

标签: oracle

我正在使用嵌套查询来实现此目的:

基本上,我有这个:

employee table:
employee_id, locale
audience table
employee_id
country table
country_name,country_code
country_language
country_code, geo

我需要这个:employee_id,audience_id,country_name,这些表中的区域设置来自" APAC"地理:

我有这个问题:

SELECT employee_id 
FROM audience 
 WHERE employee_id IN 
      (SELECT employee_id  
       FROM employee
       WHERE LOCALE IN
                  (SELECT LOCALE 
                   FROM COUNTRY_LANGUAGE 
                    WHERE COUNTRY_CODE IN 
                          (SELECT COUNTRY_CODE 
                           FROM COUNTRY 
                           WHERE GEO='apac')
             )
     ) 
 ORDER BY employee_id); 

这引发了这个错误:" SQL命令未正确结束" 此外,如果运行正常,此查询是否会产生正确的结果?如果没有,你可以提出别的建议吗?

用它作为连接。没有退货:

select a.employee_id,
      a.locale,
      b.audience_id,
      c.LOCALE_CODE,
      d.COUNTRY_NAME
from employee a,
     audience b,
     country_language c,
     country d
where 
     a.employee_id=b.employee_ID 
     and d.geo='apac' 
     and d.country_code=c.country_code
     and a.locale=c.LOCALE_CODE;

1 个答案:

答案 0 :(得分:-1)

您可以尝试使用UNION SELECT