Outer Join Oracle 9i

oracle9iSebelum Oracle 9i, outer join di Oracle dibuat dengan menggunakan tanda (+), yang mungkin agak membingungkan apabila diimplementasikan ke dalam query-query yang cukup kompleks. Namun, mulai Oracle 9i kesulitan tersebut telah diatasi dengan menghadirkan klausa LEFT OUTER JOIN (LEFT JOIN), RIGHT OUTER JOIN (RIGHT JOIN), dan FULL OUTER JOIN (FULL JOIN) sebagai salah satu fitur baru.

Tujuan dari outer join itu sendiri adalah untuk menampilkan baris-baris yang tidak memiliki pasangan (non-matching), dan menampilkannya dengan nilai NULL.

Sebagai contoh, apabila kita memiliki dua buah tabel, yaitu T1 dan T2 yang direlasikan menggunakan kolom B, maka kita dapat menuliskan sintak untuk outer join seperti berikut:

1. Left Outer Join

Oracle 8i:

select * from T1, T2
where T1.B = T2.B (+)

Oracle 9i:

select * from T1
LEFT OUTER JOIN T2
on T1.B = T2.B

atau sama juga bila dituliskan seperti di bawah ini

select * from T1
LEFT JOIN T2
on T1.B = T2.B

2. Right Outer Join

Oracle 8i:

select * from T1, T2
where T1.B (+) = T2.B

Oracle 9i:

select * from T1
RIGHT OUTER JOIN T2
on T1.B = T2.B

atau sama juga bila dituliskan seperti di bawah ini

select * from T1
RIGHT JOIN T2
on T1.B = T2.B

3. Full Outer Join

Meskipun tidak secara langsung menggantikan fitur yang ada di Oracle 8i (dan versi sebelumnya), namun di Oracle 9i sudah ditambahkan kemampuan untuk melakukan full outer join. Hal ini akan sangat membantu untuk mengetahui baris-baris mana saja yang tidak memiliki pasangan di antara kedua tabel bersangkutan. Berikut ini sintak yang digunakan untuk melakukan full outer join di Oracle 9i (dan versi di atasnya).

select * from T1
FULL OUTER JOIN T2
on T1.B = T2.B

atau sama juga bila dituliskan seperti di bawah ini

select * from T1
FULL JOIN T2
on T1.B = T2.B

One comment

Tinggalkan Komentar

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s