Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Sintaks Oracle yang tersisa bergabung dengan tiga atau lebih tabel

Anda dapat melihatnya secara kaskade. Namun, kuncinya adalah mencari tabel yang kiri dan kanannya tergabung dalam kueri yang sama. Dalam hal ini, urutannya berbeda:kondisi di mana tabel digabung dengan benar diterapkan terlebih dahulu. Saya harap diagram berikut akan menjelaskan hal ini:

Anda juga dapat memeriksa urutan gabungan ini dengan melihat rencana eksekusi kueri:

Untuk Q1:

select a.c a, b.c b, c.c c   from a, b, c  where a.c = b.c (+)    and
c.c = a.c (+)

------------------------------------------------------------------------
| Id  | Operation           | Name | E-Rows |  OMem |  1Mem | Used-Mem |
------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |      |        |       |       |          |
|*  1 |  HASH JOIN OUTER    |      |      4 |  2168K|  2168K|  805K (0)|
|*  2 |   HASH JOIN OUTER   |      |      4 |  2616K|  2616K|  981K (0)|
|   3 |    TABLE ACCESS FULL| C    |      4 |       |       |          |
|   4 |    TABLE ACCESS FULL| A    |      4 |       |       |          |
|   5 |   TABLE ACCESS FULL | B    |      4 |       |       |          |
------------------------------------------------------------------------

Untuk Q2:

select a.c a, b.c b, c.c c   from a, b, c  where c.c = a.c (+)    and
a.c = b.c (+)

------------------------------------------------------------------------
| Id  | Operation           | Name | E-Rows |  OMem |  1Mem | Used-Mem |
------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |      |        |       |       |          |
|*  1 |  HASH JOIN OUTER    |      |      4 |  2168K|  2168K|  801K (0)|
|*  2 |   HASH JOIN OUTER   |      |      4 |  2616K|  2616K|  983K (0)|
|   3 |    TABLE ACCESS FULL| C    |      4 |       |       |          |
|   4 |    TABLE ACCESS FULL| A    |      4 |       |       |          |
|   5 |   TABLE ACCESS FULL | B    |      4 |       |       |          |
------------------------------------------------------------------------


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana mengatasi ORA-29913 dengan tabel eksternal

  2. Mencocokkan grup yang mungkin ada atau mungkin tidak ada

  3. Kueri nama kolom dari tabel dari pengguna lain

  4. Cara Menghapus Nol ketika Bagian Integer adalah Nol di Oracle

  5. Kesalahan ORA 00904:Pengenal Tidak Valid