orAClE数据库:A表有10000条数据,B表有10条数据,两张表做内连接查询时,哪张表做驱动表会...

B表做驱动表,连接A表,因为B表的数据少在最开始的检索时就能很快地找到被检出的数据.

试试这样处理:create table XX as select a1.*(需要列全字段) from a1 union all select a2.*(列全对应a1字段的a2表中的字段) from a2 仅供参考

selectfrom a,b,cwhere a.=b.and b.=c.请采纳.

这个情况 如果你能确定是 表A 的最小日期 比 表B 的最大日期还要大的话就这样\r\nselect max(PTIME) from B;\r\nselect min(ZTIME) from A; 这个具体的 还真不好写

select a.item_no,a.stock_qty,b.pos_qty from A full join b on a.item_no=b.item_no没看懂什么意思?

不知道你的前200条标准是什么,如果是最新创建的前200条且A表与B表的结构一致的话,可以直接insert into Bselect * from (select * from A order by creat_dt desc) where rownum 评论0 0 0

oracle两表关联查询可用以下语句.有以下两张表:现在要通过deptno字段,在查询中显示emp表中全部内容和dept表中的dname字段.可用如下语句:select a.*,b.dname from emp a,dept b where a.deptno=b.deptno;查询结果:

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是不会去重的

select * from B minusselect *from A用minus 这个函数,它的作用是 把B表查询出来的结果减去A表查询出来的结果,如果B表查询出来的结果不在A表中存在 就会查询出来结果,说明查询出来的内容和A表内容不一致.如果没有结果说明 B表内容和A表一样.(前提A表和B表结构一直)

select * from 主表 tleft join A on t.id=A.idleft join B on t.id=B.id

相关文档

电脑版