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

Cara terbaik untuk bergabung dengan tabel induk dan anak

Karena orang tua mungkin memiliki baris anak di beberapa tabel tersebut, Anda harus menggunakan LEFT OUTER JOIN.

LEFT OUTER JOIN menggabungkan dua tabel yang mengembalikan semua baris tabel LEFT, dalam hal ini A dan semua kecocokan dari tabel lainnya. Ketika tidak ada kecocokan itu akan mengembalikan NULL di kolom yang sesuai dari tabel yang tidak ada kecocokan.

SELECT *
FROM A
LEFT OUTER JOIN B
    ON A.Id = B.ParentID
LEFT OUTER JOIN C
    ON A.Id = C.ParentID
    LEFT OUTER JOIN P
        ON C.Id = P.ParentID
    LEFT OUTER JOIN Q
        ON C.Id = Q.ParentID
LEFT OUTER JOIN D
    ON A.Id = D.ParentID
LEFT OUTER JOIN E
    ON A.Id = E.ParentID
LEFT OUTER JOIN F
    ON A.Id = F.ParentID
    LEFT OUTER JOIN X
        ON F.Id = X.ParentID
    LEFT OUTER JOIN Y
        ON F.Id = Y.ParentID
LEFT OUTER JOIN G
    ON A.Id = G.ParentID

EDIT

Saya telah menambahkan cara untuk menambahkan subanak. Saya telah bermaksud mereka lebih hanya untuk membuat mereka jelas dalam representasi visual. Tapi hati-hati...jika ini menyebabkan subanak memiliki subanak lain dll, mungkin struktur Anda tidak optimal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menambahkan jenis file untuk dikenali oleh Files.probeContentType(new File(.ttf).toPath());

  2. Mengubah presisi kolom numerik di Oracle

  3. ORACLE 10g :To_date() Bukan bulan yang valid

  4. Situs Web Turun dan Umpan Twitter

  5. Pemicu hanya untuk nilai yang diubah