MySQL用左联接替换负号

时间:2018-08-20 13:48:34

标签: mysql outer-join

我正在从Oracle迁移到MySQL,目前停留在使用MINUS操作转换查询的过程中。我知道,我必须使用左联接,但是以某种方式,我的查询没有像在Oracle中那样给出确切的行。使用视图“ V_ *”进行选择,查询非常简单。

在Oracle上:

select s.section, c.title from course c, v_staff_active s
  minus
select section,title from v_rep_attended_by_section

在Mysql上,我将其转换如下:

select * from
( select s.section, c.title from course c, v_staff_active s) x
left join
( select section,title from v_rep_attended_by_section) y on x.section = y.section
where y.section is null;

但未获得确切结果或记录数。 您可以帮我吗,因为我是MySQL的新手。

谢谢。

1 个答案:

答案 0 :(得分:0)

您的查询应类似于:

select s.section, c.title 
  from course c
  left join v_staff_active s on c.section = s.section
                            and c.title = s.title
  where s.section is null and s.title is null;