Oracle数据库多表联合查询问题

Oracle数据库多表联合查询问题,第1张

create view_ticket as

select id,ticket from a group by id,ticket union

select id,ticket from b group by id,ticket union

select id,ticket from c group by id,ticket

首先,在每句里去掉重复的,这样能保证三个查询中,每个子查询无重复

然后union 本身就是能自动去重,也就是如果a,b,c中三个查询中有互相重复的数据,会过滤掉

顺便解释一下,union all是不会去重的

跟my sql一样的关联,这些关联查询都是一样的,例如内联查询,左联查询

内联查询:

想把用户的积分信息, 等级,都列出来,一般会出现:

select * from emd_mteller t1,emd_mrole t2 where t1.teller_id = t2.teller_id

select * from emd_mteller t1 inner join emd_mrole t2 on t1.teller_id = t2.teller_id

左联查询:

left join 或者left outer join

返回左表中的所有行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。

Select * from t1 left outer join t3 on t1.userid = t2.userid


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9647494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存