外连接查询

//查询某个资源表里面的符合要求的列表
select * from resource
where organization=6 and type=2 and del_flag=0;

//查询岗位课程里的已经配置好的课程列表
select * from job_course
where organization=6 and source=2 and del_flag=0;

//查询没有配置好的资源列表(XXXX错误)
select * from job_course jc WHERE jc.organization=6 and jc.del_flag=0 RIGHT OUTER JOIN resource r where r.organization=6 and r.del_flag=0 on jc.course=r.id and jc.source=2 where jc.id is null;

//查询没有配置的资源列表,注意下面我使用的是右连接哟,但是我是先过滤符合条件的岗位课程列表和符合条件的资源列表,设想一下这样过滤之后再进行外连接的匹配则效率高了很多,---------
则接下来的疑问是这样过滤会不会去掉一些数据啊,剩余的数据做外连接,对,是的,因为过滤资源是对的,(首先我要找到符合条件的全部的资源,不论是添加的还是未添加的,都给查询出来,然后再去掉已经添加(WHERE tjc.id IS NULL)的就OK了)
SELECT * FROM
(SELECT * FROM job_course WHERE organization=6 and del_flag=0 and source=2) AS tjc
RIGHT OUTER JOIN
(SELECT * FROM resource WHERE organization=6 and del_flag=0 and type=2) AS tr
ON tjc.course = tr.id
WHERE tjc.id IS NULL;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值