select (一个子查询) a
from b(可能a表 与 b表有一定的关系 是指他们有可能产生连接)子查询是一个 select ....... from ......... 的语句。想问一下 这样的select 语句是怎样执行的呀!
能详细的解释一下吗!
谢谢各位大侠了 有这方面的资料也行 学习!
能给举个例子 就更好了呀! 谢谢各位了呀!
from b(可能a表 与 b表有一定的关系 是指他们有可能产生连接)子查询是一个 select ....... from ......... 的语句。想问一下 这样的select 语句是怎样执行的呀!
能详细的解释一下吗!
谢谢各位大侠了 有这方面的资料也行 学习!
能给举个例子 就更好了呀! 谢谢各位了呀!
解决方案 »
- 如何查找oracle环境变量
- oracle 并发问题??
- QQ群:“潍坊IT开发者俱乐部”:5778839;开放互助,欢迎高手加入。
- 遇到个数据库插值难题?请赐教!
- 请教 LINUX下的ORACLE9i(参与就有分)
- ORACLE中有“组”(GROUP)的概念吗?
- 请教jpetstore-oracle-dataload.sql用什么程序打开啊?
- 为什么我的oracle8装不上
- 如何用vc对oracle中嵌套表信息进行显示、查询、修改!!!麻烦大家!请高手做答~~~~
- 请问如何利用Oracle8i将数据表的数据导出到文本文件中?
- 用了Oracle,来问几个小问题,不用拍砖吧? 10分一个
- 求教一个筛选考核结果的问题。
y.hkd_total_amt hkd_total_amt_12
FROM (SELECT ROUND(sgp.po_ccy) hkd_total_amt
FROM apps.suga_group_purchase_details sgp
WHERE sgp.order_date > ADD_MONTHS (TRUNC (SYSDATE), -3)
GROUP BY sgp.subsidary, sgp.supplier_name
ORDER BY 1, 4 DESC) x,
(SELECT ROUND(sgp.po_ccy) hkd_total_amt
FROM apps.suga_group_purchase_details sgp
WHERE sgp.order_date > ADD_MONTHS (TRUNC (SYSDATE), -12)
GROUP BY sgp.subsidary, sgp.supplier_name
ORDER BY 1, 4 DESC) y
WHERE (x.subsidary(+) = y.subsidary AND x.supplier_name(+) = y.supplier_name)这样的例子可以吗?
反正都一样,整个SQL肯定是先执行最里面的select,也就是说由内到外执行。
如上例:
先执行
SELECT ROUND(sgp.po_ccy) hkd_total_amt
FROM apps.suga_group_purchase_details sgp
WHERE sgp.order_date > ADD_MONTHS (TRUNC (SYSDATE), -3)
GROUP BY sgp.subsidary, sgp.supplier_name
ORDER BY 1, 4 DESC
在数据库内产生个临时表 x
然后
SELECT ROUND(sgp.po_ccy) hkd_total_amt
FROM apps.suga_group_purchase_details sgp
WHERE sgp.order_date > ADD_MONTHS (TRUNC (SYSDATE), -12)
GROUP BY sgp.subsidary, sgp.supplier_name
ORDER BY 1, 4 DESC
产生个临时表 y
最后用两个临时表x,y作为外面的查询基表。最外层可以简化成这样。
SELECT x.hkd_total_amt hkd_total_amt_3,
y.hkd_total_amt hkd_total_amt_12
FROM x,y
WHERE (x.subsidary(+) = y.subsidary AND x.supplier_name(+) = y.supplier_name)不知道楼主能看明白吗?