SQL_交集、并集SQL 交集、并集之示例
2011-07-20 11:18:24| 分类: Oracle | 标签:oracle 交集 并集 sql |字号大中小 订阅
交集,intersect,取出同时包含PHP eAccelerator CentOS 三个tag的文章:
select b.* from tags a left join documents b on a.doc_id=b.doc_id where a.tag ='PHP'
intersect
select b.* from tags a left joi...
SQL 交集、并集之示例
2011-07-20 11:18:24| 分类: Oracle | 标签:oracle 交集 并集 sql |字号大中小 订阅
交集,intersect,取出同时包含PHP eAccelerator CentOS 三个tag的文章:
select b.* from tags a left join documents b on a.doc_id=b.doc_id where a.tag ='PHP'
intersect
select b.* from tags a left join documents b on a.doc_id=b.doc_id where a.tag ='eAccelerator'
intersect
select b.* from tags a left join documents b on a.doc_id=b.doc_id where a.tag ='CentOS'
并集,比交集简单了,用in就可以了
select b.* from tags a left join documents b on a.doc_id=b.doc_id
where a.tag
in ('PHP',
'eAccelerator',
'CentOS')
注: 两个表的字段结构,可以从左侧栏看出来,是通过doc_id来关联的这也很明显。需要注意的,取交集时三个子句的字段情况应该完全相同。为了看得更清楚,加一个“两个关键词取交集”的效果图:
并集的另一种实现:
select b.* from tags a left join documents b on a.doc_id=b.doc_id where a.tag ='PHP'
union
select b.* from tags a left join documents b on a.doc_id=b.doc_id where a.tag ='eAccelerator'
union
select b.* from tags a left join documents b on a.doc_id=b.doc_id where a.tag ='CentOS'
本文档为【SQL_交集、并集】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。