Tuesday, March 18, 2014

Representasi SQL JOIN Secara Visual - Dari Pojok Programmer

Selamat malam. Artikel ini bercerita tentang representasi SQL Join secara visual yang dikutip dari salah satu website dan blog programmer : "Pojok Programmer". Visualisasi  yang ada dalam artikel ini cukup sederhana sehingga dapat dibaca dan dimengerti dengan mudah khususnya oleh junior IT yang ingin mempelajari secara visual ilmu SQL. Semoga bermanfaat.

Representasi SQL JOIN Secara Visual

Mempelajari SQL bagi beberapa orang adalah sebuah tantangan tersendiri, terlebih lagi paradigma yang dibawa SQL, yaitu paradigma set atau himpunan sangat jauh berbeda dengan paradigma programming yang umunya imperatif atau prosedural. Ketika kita belajar himpunan dahulu pasti pernah dikenalkan dengan Diagram Venn. Dengan menggambarkan SQL JOIN menggunakan Diagram Venn mudah mudahan bisa mempermudah kita memahaminya. 

Diagram Venn : A Venn diagram or set diagram is a diagram that shows all possible logical relations between a finite collection of sets. #Wikipedia

Saya (Nurhidayat - Penulis Pojok Programmer) akan membahas tujuh cara yang berbeda menggabungkan dua tabel relasional yang berbeda menggunakan SQL JOIN. Ketujuh Bergabung saya akan membahas adalah sebagai berikut:
  •     INNER JOIN (JOIN)
  •     LEFT OUTER JOIN (LEFT JOIN)
  •     RIGHT OUTER JOIN (RIGHT JOIN)
  •     FULL OUTER JOIN (FULL JOIN)
  •     LEFT JOIN EXCLUDING INNER JOIN (LEFT EXCLUDING JOIN)
  •     RIGHT JOIN EXCLUDING INNER JOIN (RIGHT EXCLUDING JOIN)
  •     OUTER JOIN EXCLUDING INNER JOIN (OUTER EXCLUDING JOIN)

Kita akan coba bahas satu persatu diikuti dengan contoh agar lebih mudah dipahami. Contoh query akan menggunakan dua buah table, yaitu TABLE_A dan TABLE_B dengan struktur dan data sebagai berikut:


...


Ini adalah query yang paling sederhana, paling umum, dan paling mudah dipahami. Query ini akan mengembalikan semua record dalam tabel kiri (tabel A) yang memiliki record yang cocok di tabel kanan (tabel B). Query Inner Join ditulis dengan format sebagai berikut:


Jika kita menggunakan contoh data di atas, query ini akan menghasilkan data sebagai berikut:


...


Query ini akan mengembalikan semua record dalam tabel kiri (tabel A) meskipun record di tabel A tersebut tidak memiliki record yang bersesuaian di tabel kanan (tabel B). Dan semua record yang bersesuaian dari tabel kanan akan muncul. Query Left Join ini ditulis dengan format sebagai berikut:


Jika kita menggunakan contoh data di atas, query ini akan menghasilkan data sebagai berikut:


...


Query ini akan mengembalikan semua record dalam tabel kanan (tabel B) meskipun record di tabel B tersebut tidak memiliki record yang bersesuaian di tabel kiri (tabel A). Semua record yang bersesuaian dari tabel kanan akan muncul. Query Right Join ini ditulis dengan format sebagai berikut:


Jika kita menggunakan contoh data di atas, query ini akan menghasilkan data sebagai berikut:


...

Query ini akan mengembalikan semua record yang ada di kedua table tersebut, dan semua record yang bersesuaian akan digabungkan menjadi satu record. Query Right Join ini ditulis dengan format sebagai berikut:


Jika kita menggunakan contoh data di atas, query ini akan menghasilkan data sebagai berikut:


...


Query ini akan mengembalikan semua record dalam tabel kiri (tabel A) yang tidak memiliki record yang bersesuaian di tabel kanan (tabel B). Biasanya pertanyaan yang dapat diselesaikan menggunakan Left Excluding Join adalah "Tampilkan semua data di tabel A yang tidak ada datanya di tabel B!". Query Left Excluding Join ini ditulis dengan format sebagai berikut:


Jika kita menggunakan contoh data di atas, query ini akan menghasilkan data sebagai berikut:


...


Query ini akan mengembalikan semua record dalam tabel kanan (tabel B) yang tidak memiliki record yang bersesuaian di tabel kiri (tabel A). Biasanya pertanyaan yang dapat diselesaikan menggunakan Left Excluding Join adalah "Tampilkan semua data di tabel B yang tidak ada datanya di tabel A!". Query Right Excluding Join ini ditulis dengan format sebagai berikut:


Jika kita menggunakan contoh data di atas, query ini akan menghasilkan data sebagai berikut:


...


Query ini akan mengembalikan semua record yang tidak memiliki pasangan di tabel kiri (tabel A) maupun tabel kanan (tabel B). Kasus ini jarang sekali ditemukan namun bukan berarti tidak ada. Query Full Excluding Join ini ditulis dengan format sebagai berikut:


Jika kita menggunakan contoh data di atas, query ini akan menghasilkan data sebagai berikut:


#PENUTUP

Mudah-mudahan penjelasan ini dapat membantu memahami apa itu SQL Join. dan untuk para coder sejati silakan download cheatsheet di bawah ini untuk dijadikan wallpaper komputer Anda :)


...


Saya akan membahas tujuh cara yang berbeda menggabungkan dua tabel relasional yang berbeda menggunakan SQL JOIN. Ketujuh Bergabung saya akan membahas adalah sebagai berikut:
  1. INNER JOIN (JOIN)
  2. LEFT OUTER JOIN (LEFT JOIN)
  3. RIGHT OUTER JOIN (RIGHT JOIN)
  4. FULL OUTER JOIN (FULL JOIN
  5. LEFT JOIN EXCLUDING INNER JOIN (LEFT EXCLUDING JOIN)
  6. RIGHT JOIN EXCLUDING INNER JOIN (RIGHT EXCLUDING JOIN)
  7. OUTER JOIN EXCLUDING INNER JOIN (OUTER EXCLUDING JOIN)
Kita akan coba bahas satu persatu diikuti dengan contoh agar lebih mudah dipahami. Contoh query akan menggunakan dua buah table, yaitu TABLE_A dan TABLE_B dengan struktur dan data sebagai berikut,
- See more at: http://pojokprogrammer.net/content/representasi-sql-join-secara-visual#sthash.QO6H2H7G.dpuf
Mempelajari SQL bagi beberapa orang adalah sebuah tantangan tersendiri, terlebih lagi paradigma yang dibawa SQL, yaitu paradigma set atau himpunan sangat jauh berbeda dengan paradigma programming yang umunya imperatif atau prosedural. Ketika kita belajar himpunan dahulu pasti pernah dikenalkan dengan Diagram Venn. Dengan menggambarkan SQL JOIN menggunakan Diagram Venn mudah mudahan bisa mempermudah kita memahaminya. - See more at: http://pojokprogrammer.net/content/representasi-sql-join-secara-visual#sthash.QO6H2H7G.dpuf
Mempelajari SQL bagi beberapa orang adalah sebuah tantangan tersendiri, terlebih lagi paradigma yang dibawa SQL, yaitu paradigma set atau himpunan sangat jauh berbeda dengan paradigma programming yang umunya imperatif atau prosedural. Ketika kita belajar himpunan dahulu pasti pernah dikenalkan dengan Diagram Venn. Dengan menggambarkan SQL JOIN menggunakan Diagram Venn mudah mudahan bisa mempermudah kita memahaminya. - See more at: http://pojokprogrammer.net/content/representasi-sql-join-secara-visual#sthash.QO6H2H7G.dpuf

2 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Maaf mas,
    kalau full outer join
    nullnya tetap ditampilkan kalau mirip gimana ya caranya?

    ReplyDelete

Share Your Inspiration...