一个表中的一个字段在另外两个表(结构一样)中关联,怎样一次性将两表数据都查出来

csdn_陈永 2017-08-10 08:10:21
q:一个表中的一个字段在另外两个表(结构一样)中关联,怎样一次性将两表数据都查出来
例:
create table ss (id int ,name varchar(22));
create table c1( id int ,name VARCHAR(22),ss_id int);
create table c2( id int ,name VARCHAR(22),ss_id int);
表ss的id和表c1或c2中ss_id关联,表c1和c2结构一致
期望:查询出ss表id在c1和c2中存在的所有字段信息 ,不使用union
...全文
751 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq54699537 2017-09-08
  • 打赏
  • 举报
回复
使用union,推荐: select c1.* from c1 where exists (select 1 from ss where c1.ss_id=ss.id) union all select c2.* from c2 where exists (select 1 from ss where c2.ss_id=ss.id) 不使用union,采用你的第二种
csdn_陈永 2017-08-10
  • 打赏
  • 举报
回复
第一种 select * from ss INNER JOIN c1 on ss.id=c1.ss_id union all select * from ss INNER JOIN c2 on ss.id=c2.ss_id 第二种 select ss.*,c1.* from ss,c1 where EXISTS (select SS.id from c1 where ss.id=c1.ss_id ) or EXISTS (select SS.id from c2 where ss.id=c2.ss_id ) 第三种 select * from ss INNER JOIN ( select c1.* from c1 union all select c2.* from c2 ) tmp on ss.id=tmp.id 第四种 select * from ss LEFT JOIN c1 on ss.id=c1.ss_id LEFT JOIN c2 on ss.id=c2.ss_id where c1.ss_id is not null or c2.ss_id is not null 第5种 select SS.*,ifnull(c1.id,c2.id) c_id ,ifnull(c1.name,c2.name) c_name,ifnull(c1.ss_id,c2.ss_id) c_ssid from ss LEFT JOIN c1 on ss.id=c1.ss_id LEFT JOIN c2 on ss.id=c2.ss_id where c1.ss_id is not null or c2.ss_id is not null 望指正,三张表都是大数据下,求最优查询
csdn_陈永 2017-08-10
  • 打赏
  • 举报
回复
第一种 select * from ss INNER JOIN c1 on ss.id=c1.ss_id union all select * from ss INNER JOIN c2 on ss.id=c2.ss_id 第二种 select ss.*,c1.* from ss,c1 where EXISTS (select SS.id from c1 where ss.id=c1.ss_id ) or EXISTS (select SS.id from c2 where ss.id=c2.ss_id ) 这个意思 这表ss有100W数据,c1和c2加起来分这100W ,想找找有没有更优化的方式
lfq0404 2017-08-10
  • 打赏
  • 举报
回复
select c1.*,c2.* from ss,c1,c2 where ss.id = c1.ss_id or ss.id = c2.ss_id 这个意思?
csdn_陈永 2017-08-10
  • 打赏
  • 举报
回复
来人啊,求讨论
csdn_陈永 2017-08-10
  • 打赏
  • 举报
回复
来大神啊,来大神

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧