我有以下连接一堆表的查询。
我想从 INDUSTRY 表中获取每条记录,无论它是否与其他表匹配。我相信这需要通过 LEFT JOIN 来完成?
SELECT attr.industry_id        AS option_id,
       attr.industry           AS option_name,
       uj.ft_job_industry_id,
       Avg(CASE
             WHEN s.salary > 0 THEN s.salary
           END)                AS average,
       Count(CASE
               WHEN s.salary > 0 THEN attr.industry
             END)              AS count_non_zero,
       Count(attr.industry_id) AS count_total
FROM   industry attr,
       user_job_ft_job uj,
       salary_ft_job s,
       user_job_ft_job ut,
       [user] u,
       user_education_mba_school mba
WHERE  u.user_id = uj.user_id
       AND u.user_id = ut.user_id
       AND u.user_id = mba.user_id
       AND uj.ft_job_industry_id = attr.industry_id
       AND uj.user_job_ft_job_id = s.user_job_id
       AND u.include_in_student_site_results = 1
       AND u.site_instance_id IN ( 1 )
       AND uj.job_type_id = 1
       AND attr.consolidated_industry_id = 1
       AND mba.mba_graduation_year_id NOT IN ( 8, 9 )
       AND uj.admin_approved = 1
GROUP  BY attr.industry_id,
          attr.industry,
          uj.ft_job_industry_id 
这仅返回一行,但行业表中有 8 个匹配项,其中 encrypted_industry_id = 1。
--- 编辑:这里真正的问题是,如何将 LEFT JOIN 与常规连接结合起来?