3张表如下:
table A,有字段id,x, 数据100万
table B,有字段id,y, 数据200万
table C,有字段id,z, 数据300万要求:
1. 写出查询出3张表数据的所有SQL
2. 说出其中最有效率的sql,为什么?
table A,有字段id,x, 数据100万
table B,有字段id,y, 数据200万
table C,有字段id,z, 数据300万要求:
1. 写出查询出3张表数据的所有SQL
2. 说出其中最有效率的sql,为什么?
解决方案 »
- 64位win7,安装64位oracle11gr2,想装个plsqldev结果装不上
- TO_CHAR 后为什么有空格
- 可以把select的结果作为字段名字吗?(discoverer遇到的问题)
- oracle9i 用什么工具或者方法进行海量数据导入最快?
- 如何在注册表修改 Oracle 客户端的字符集?
- 问一个极其简单的sql语句
- 帮我看一下一句话的最简单的存储过程,
- 如何将数据从SQL Server 2000中导入到oracle
- 触发器创建错误
- win 7 64位安装oracle 32位报错createfile 32 error
- oracle创建包报错
- 求解:关于ORACLE的一个sql实现问题
table B,有字段id,y, 数据200万
table C,有字段id,z, 数据300万
select * from c,b,a where c.id = b.id and c.id = a.id
select * from a,b,c
where a.id=b.id and c.id=a.id
1.ORACLE表扫描是从右向左;
2.oracle条件扫描是从下向上;
table A,有字段id,x, 数据100万
table B,有字段id,y, 数据200万
table C,有字段id,z, 数据300万要求:
1. 写出查询出3张表数据的所有SQL
2. 说出其中最有效率的sql,为什么?-- 要查询所有的数据,要连接表的话,至少也得用full join 吧?
with ab as(select nvl(a.id,b.id) as id, a.x, b.y
from a full join b on a.id=b.id)
select nvl(ab.id,c.id) as id, ab.x, ab.y, c.z
from ab full join c on ab.id=c.id;
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序。