91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle標量子查詢

發布時間:2020-07-23 16:18:30 來源:網絡 閱讀:724 作者:llc018198 欄目:關系型數據庫
SQL> conn scott/scott
Connected.
SQL> create table a (id int,name varchar2(10));
Table created.
SQL> create table b (id int,name varchar2(10));
Table created.
SQL> insert into a values(1,'a1');
1 row created.
SQL> insert into a values(2,'a2');
1 row created.
SQL> insert into b values(1,'b1');
1 row created.
SQL> insert into b values(2,'b2');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID 8rv825dykpx1m, child number 1
-------------------------------------
select a.*,(select name from b where b.id=a.id) from a
Plan hash value: 2657529235
------------------------------------------------------------------------------------
| Id  | Operation   | Name | Starts | E-Rows | A-Rows | A-Time  | Buffers |
------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |  | 1 |    |   2 |00:00:00.01 |  8 |
|*  1 |  TABLE ACCESS FULL| B  | 2 |  1 |   2 |00:00:00.01 | 14 |
|   2 |  TABLE ACCESS FULL| A  | 1 |  2 |   2 |00:00:00.01 |  8 |
------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter("B"."ID"=:B1)
Note
-----
   - dynamic sampling used for this statement (level=2)

23 rows selected.

B表被執行2次,返回2條數據。

SQL> insert into a values(3,'a3');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID 9rufvg18a2vfq, child number 0
-------------------------------------
select a.*,(select name from b where b.id=a.id) from a
Plan hash value: 2657529235
------------------------------------------------------------------------------------
| Id  | Operation   | Name | Starts | E-Rows | A-Rows | A-Time  | Buffers |
------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |  | 1 |    |   3 |00:00:00.01 |  8 |
|*  1 |  TABLE ACCESS FULL| B  | 3 |  1 |   2 |00:00:00.01 | 21 |
|   2 |  TABLE ACCESS FULL| A  | 1 |  3 |   3 |00:00:00.01 |  8 |
------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter("B"."ID"=:B1)
Note
-----
   - dynamic sampling used for this statement (level=2)

23 rows selected.

B表被執行3次,返回2條數據。

SQL> insert into a values(4,'a4');
1 row created.
SQL> insert into a values(5,'a5');
1 row created.
SQL> insert into a values(6,'a6');
1 row created.
SQL> insert into a values(7,'a7');
1 row created.
SQL> insert into a values(8,'a8');
1 row created.
SQL> insert into a values(9,'a9');
1 row created.
SQL> commit;
Commit complete.
SQL> select a.*,(select name from b where b.id=a.id) from a;
 ID NAME       (SELECTNAM
---------- ---------- ----------
  1 a1       b1
  2 a2       b2
  3 a3
  4 a4
  5 a5
  6 a6
  7 a7
  8 a8
  9 a9
9 rows selected.
SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID 8rv825dykpx1m, child number 1
-------------------------------------
select a.*,(select name from b where b.id=a.id) from a
Plan hash value: 2657529235
------------------------------------------------------------------------------------
| Id  | Operation   | Name | Starts | E-Rows | A-Rows | A-Time  | Buffers |
------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |  | 1 |    |   9 |00:00:00.01 |  8 |
|*  1 |  TABLE ACCESS FULL| B  | 9 |  1 |   2 |00:00:00.01 | 63 |
|   2 |  TABLE ACCESS FULL| A  | 1 |  2 |   9 |00:00:00.01 |  8 |
------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter("B"."ID"=:B1)
Note
-----
   - dynamic sampling used for this statement (level=2)

23 rows selected.

B表被執行9次,返回2行數據,說明a表向b傳值,能匹配上就返回,匹配不上就返回null

SQL> update b set name='b1';
2 rows updated.
SQL> commit;
Commit complete.
SQL> select a.*,(select name from b where b.id=a.id) from a;
 ID NAME       (SELECTNAM
---------- ---------- ----------
  1 a1       b1
  2 a2       b1
  3 a3
  4 a4
  5 a5
  6 a6
  7 a7
  8 a8
  9 a9
9 rows selected.
SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID 8rv825dykpx1m, child number 1
-------------------------------------
select a.*,(select name from b where b.id=a.id) from a
Plan hash value: 2657529235
------------------------------------------------------------------------------------
| Id  | Operation   | Name | Starts | E-Rows | A-Rows | A-Time  | Buffers |
------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |  | 1 |    |   9 |00:00:00.01 |  8 |
|*  1 |  TABLE ACCESS FULL| B  | 9 |  1 |   2 |00:00:00.01 | 63 |
|   2 |  TABLE ACCESS FULL| A  | 1 |  2 |   9 |00:00:00.01 |  8 |
------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter("B"."ID"=:B1)
Note
-----
   - dynamic sampling used for this statement (level=2)

23 rows selected.

理想狀態下,a.id為主鍵,沒有重復值,那么a表返回多少行,b表就要被執行多少次。

標量子查詢改寫:

1
SQL> select * from a;
 ID NAME
---------- ----------
  1 a1
  2 a2
SQL> select * from b;
 ID NAME
---------- ----------
  1 b1
  2 b2
SQL> select name,(select name from b where b.id=a.id) from a;
NAME    (SELECTNAM
---------- ----------
a1    b1
a2    b2

改寫:

SQL> select a.name,b.name from a,b where a.id=b.id(+);
NAME    NAME
---------- ----------
a1    b1
a2    b2

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜春市| 宁城县| 双柏县| 土默特右旗| 开化县| 碌曲县| 浦江县| 和政县| 辽阳市| 鄄城县| 盐亭县| 渭源县| 滦南县| 射阳县| 奉新县| 崇义县| 霞浦县| 吉水县| 三河市| 南木林县| 盐山县| 新和县| 苏尼特右旗| 阆中市| 安远县| 涿鹿县| 红河县| 新安县| 沭阳县| 白银市| 双流县| 民丰县| 仪征市| 马龙县| 临猗县| 常德市| 青河县| 桦川县| 汤阴县| 祥云县| 镇安县|