您的位置:首页 > 其它

[每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用

2013-07-31 20:10 357 查看




用sys用户登录,给oe用户授权dba,以便可以用oe用户查看执行计划:

oe@OCM> conn / as sysdba

Connected.

sys@OCM> grant dba to oe;

Grant succeeded.

sys@OCM> conn oe/oe

Connected.

oe@OCM>  set autot traceonly;
oe@OCM> SELECT p.product_name,i.item_cnt
2  FROM (SELECT product_id,COUNT(*) item_cnt
3  FROM order_items
4  GROUP BY product_id) i RIGHT OUTER JOIN products p ON i.product_id=p.product_id;

288 rows selected.

Execution Plan
----------------------------------------------------------
Plan hash value: 1905807913

-----------------------------------------------------------------------------------------------
| Id  | Operation               | Name                | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT        |                     |   288 | 24768 |    97   (3)| 00:00:02 |
|*  1 |  HASH JOIN RIGHT OUTER  |                     |   288 | 24768 |    97   (3)| 00:00:02 |
|   2 |   VIEW                  | index$_join$_006    |   288 | 11520 |    88   (2)| 00:00:02 |
|*  3 |    HASH JOIN            |                     |       |       |            |          |
|*  4 |     INDEX FAST FULL SCAN| PRD_DESC_PK         |   288 | 11520 |    41   (0)| 00:00:01 |
|   5 |     INDEX FAST FULL SCAN| PROD_NAME_IX        |   288 | 11520 |    68   (0)| 00:00:01 |
|*  6 |   HASH JOIN RIGHT OUTER |                     |   288 | 13248 |     9  (12)| 00:00:01 |
|   7 |    VIEW                 |                     |   185 |  4810 |     3   (0)| 00:00:01 |
|   8 |     HASH GROUP BY       |                     |   185 |   740 |     3   (0)| 00:00:01 |
|   9 |      INDEX FULL SCAN    | ITEM_PRODUCT_IX     |   665 |  2660 |     3   (0)| 00:00:01 |
|  10 |    TABLE ACCESS FULL    | PRODUCT_INFORMATION |   288 |  5760 |     5   (0)| 00:00:01 |
-----------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

1 - access("D"."PRODUCT_ID"(+)="I"."PRODUCT_ID")
3 - access(ROWID=ROWID)
4 - filter("D"."LANGUAGE_ID"=SYS_CONTEXT('USERENV','LANG'))
6 - access("I"."PRODUCT_ID"(+)="I"."PRODUCT_ID")

Statistics
----------------------------------------------------------
0  recursive calls
0  db block gets
135  consistent gets
0  physical reads
0  redo size
14913  bytes sent via SQL*Net to client
733  bytes received via SQL*Net from client
21  SQL*Net roundtrips to/from client
0  sorts (memory)
0  sorts (disk)
288  rows processed


可以看看执行计划,了解一下sql 执行的步骤。

答案A是正确的:查询出结果288 行,说明可以正常执行并返回结果

答案B是不正确的:我们可以把内联视图看成是一个独立的表,它是可以与其它表做外连接的。

答案C是不正确的:内联视图聚合函数的别名可以看作一个列名展显出来

答案D是不正确的:group by可以用在内联视图

正确答案是:A

这道题目太简单了,没什么好说的,写过SQL的人,直接可以PASS了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐