Rabu, 21 September 2011

SQL : Konsep Himpunan pada SQL

Sebelum membahas konsep himpunan di SQL, maka ijinkan saya membagi struktur tabel dan datanya dahulu. Mari menganggap saya mempunyai dua table dengan struktur dan data seperti di bawah ini :
Struktur Table A :
tableA SQL : Konsep Himpunan pada SQL
Struktur TableB :
tableA SQL : Konsep Himpunan pada SQL
Data TableA :
Data tableA SQL : Konsep Himpunan pada SQL
Data TableB :
Data tableB SQL : Konsep Himpunan pada SQL
  1. Inner Join
Konsep inner join sendiri sebenarnya hanya mendapatkan data yang menjadi irisan dari dua buah table.

inner join SQL : Konsep Himpunan pada SQLGambar diatas memperlihatkan bahwa data yang kita dapatkan dari inner join adalah C saja. Yaitu data yang menjadi irisan A dan B.
Lihat contoh table di atas, saya ingin menggunakan inner join untuk mendapatkan data dari tableA dan tableB. Maka data yang akan saya dapatkan adalah data di tableA yang juga ada di tableB.
Contoh querynya lihat di bawah :
query inner join SQL : Konsep Himpunan pada SQLHasil dari query diatas adalah sebagai berikut :
data hasil query inner join SQL : Konsep Himpunan pada SQLTerlihat dari hasil data, dari total 6 data di tableA, hanya 5 yang ditampilkan karena beririsan dengan tableB.
  1. Left Join
Kalau left join sendiri konsepnya mendapatkan semua data yang berada di bagian kiri, walaupun data di sebelah kiri tidak memiliki referensi ke sebelah kanan
.
left join SQL : Konsep Himpunan pada SQLContoh query :
query left join SQL : Konsep Himpunan pada SQLHasil query :
data hasil query left join SQL : Konsep Himpunan pada SQLTerlihat dari hasil data diatas, id_plgn = 6 memiliki id_lokasi = 6 yang tidak terdapat di tableB. Sehingga dia menghasilkan value NULL.

  1. Right Join
Kalau right join sendiri konsepnya mendapatkan semua data yang berada di bagian kanan, walaupun data di sebelah kanan tidak memiliki referensi ke sebelah kiri. Berbalikan dengan left join, walaupun konsepnya sama.
right join SQL : Konsep Himpunan pada SQLContoh query :
query right join SQL : Konsep Himpunan pada SQLHasil query :
data hasil query right join SQL : Konsep Himpunan pada SQLTerlihat dari hasil data diatas, id_lokasi = 6 tidak memiliki id_plgn yang tidak terdapat di tableA. Sehingga dia menghasilkan value NULL.
  1. Cross Join
Sesuai namanya, data yang dihasilkan dari cross join sendiri adalah hasil perkalian dari table 1 dan table 2. Semisal, data tableA ada 4 buah, dan dilakukan cross join dengan tableB yang datanya ada 3 buah, maka hasil datanya akan menjadi 12 buah. Jadi setiap data di tableA, akan memiliki jumlah data di tableB.
cross join1 SQL : Konsep Himpunan pada SQLContoh query :
query cross join SQL : Konsep Himpunan pada SQLHasil query :
data hasil query cross join SQL : Konsep Himpunan pada SQL
  1. Union
Konsep union sendiri itu adalah menggabungkan dua buah query, lalu dikurangi query hasil irisannya. Sehingga tidak akan ada data sama yang berulang.
union SQL : Konsep Himpunan pada SQLContoh query :
query union SQL : Konsep Himpunan pada SQLContoh diatas, menggambarkan penggabungan dua query. Query pertama menggunakan RIGHT JOIN dan query kedua menggunakan LEFT JOIN. Salah satu syarat penggunaan UNION adalah, bahwa field yang akan ditampilkan pada query 1 dan query 2 harus sama penamaannya.
data hasil query union SQL : Konsep Himpunan pada SQLHasil query :
  1. Union All
Sedikit berbeda dengan UNION, UNION ALL akan menggabungkan hasil dua query sehingga kemungkinan data berulang akan terjadi.
union all SQL : Konsep Himpunan pada SQLContoh query :
query union all SQL : Konsep Himpunan pada SQLHasil query :
data hasil query union all SQL : Konsep Himpunan pada SQLBerbeda hasilnya dengan menggunakan UNION, pada UNION ALL query pertama yang menggunakan RIGHT JOIN akan mengeluarkan 6 data dengan data ke-6 data sebelah kirinya akan bernilai NULL. Pada query kedua, juga akan mengeluarkan 6 data dengan data ke-6 data sebelah kanannya bernilai NULL. Sehingga total ada 12 data yang keluar dengan 5 data yang berulang akan keluar lagi. Jadi akan ada data yang ganda bila menggunakan UNION ALL ini.


Sumber

7 komentar:

  1. ingin pasang togel tp lg mager??
    sekarang jaman nya android
    join dengan kami situs terpercaya dam teraman
    hanya duduk di rumah bisa
    menangkan uang jutaan rupiah
    hanya di areatoto.com
    cs online 1x24 jam

    BalasHapus
  2. AJOQQ menyediakan permainan poker,domino, bandarq, bandarpoker, aduq, sakong dan capsa :)
    ayo segera bergabung bersama kami dan menangkan uang setiap harinya :)
    AJOQQ juga menyediakan bonus rollingan sebanyak 0.3% dan bonus referal sebanyak 20% :)

    BalasHapus
  3. Selamat Pagi..
    Yukk kembali lagi DEWALOTTO dengan permainan lengkap didalam nya dan dengan 1 userid saja sudah bisa memainkan semua permainan lengkap kami lohh dengan minimal deposit 20rb saja sudah dapat bermain semua permainan kami, Yuk segera daftar dan bermain bersama kami disini kami jamin proses cepat dan kenyamanan dalam bermain bersama kami disini yukk silahkan bergabung dengan kami ya pin 7BF59345

    BalasHapus
  4. www.bolavita.pro Bandar Casino Live !! Aman & Terpercaya !!
    Menyediakan Berbagai Jenis Judi Casino Mulai dari Judi Casino Roullete, Judi Dadu Online, Judi Baccarat, Judi Blackjack !!
    Memberikan Bonus New member deposit 10% dan Bonus Cashback 10% ..
    Langsung Daftar Di Bolavita Bandar Taruhan Sportsbook Online Indonesia :

    Link Alternatif Sabung Ayam S128 :
    www.sabungonline.org

    www.ayamsabungonline.com
    www.sabung-online.com
    www.sabung-online.net
    www.sabung-online.org
    www.onlinesabungayam.net

    BBM : D8C363CA (new) / BOLAVITA (Old)
    wechat : bolavita
    line : cs_bolavita
    whatup : 6281377055002
    Email : cs @ bolavita(titik)com
    Live Chat : www .bolavita. org

    BalasHapus
  5. BAGI YANG INGIN MERUBAH NASIB
    ATAU MENJADIKAN HIDUP LEBIH BERMAKNA
    BURUAN GABUNG DI DEWALOTTO

    BalasHapus
  6. ajoqq^^com
    mau dapat penghasil4n dengan cara lebih mudah....
    mari segera bergabung dengan kami.....
    di ajoqq^^com...
    segera di add black.berry pin 58CD292C.

    BalasHapus
  7. ingin mendapatkan uang banyak dengan cara cepat
    ayo segera bergabung dengan kami di ionqq^^com
    add pin bb 58ab14f5 || ditunggu ya^^

    BalasHapus