Buat Akun DQLab & Akses Kelas Data Science Python, R, SQL, Excel GRATIS

Singkirkan Duplikasi Data dengan Operasi SQL Join

Belajar Data Science di Rumah 15-Mei-2023
https://dqlab.id/files/dqlab/cache/867a8061ed6fee10ba5d81b66a0024db_x_Thumbnail800.jpeg

SQL merupakan salah satu dari sekian banyak bahasa pemrograman yang perlu dikuasai apabila kamu ingin menjadi seorang praktisi handal di industri data. SQL menawarkan berbagai macam fungsi. Salah satunya dengan SQL Join. Fungsi join SQL ini digunakan untuk menggabungkan dua tabel yang memiliki key kolom yang sama. Dengan menggunakan fungsi join SQL, kita tidak perlu menggabungkan secara baris per baris. Namun cukup menggabungkannya menggunakan fungsi dengan mudah. Adakalanya kita pastinya membutuhkan klausa ini untuk melakukan operasi penggabungan tabel.


Namun, segala hal bisa saja terjadi. Pasalnya dalam melakukan pengolahan data seringkali ditemukan adanya duplikasi data. Duplikasi data merupakan masalah yang sering ditemukan dalam pengolahan data menggunakan SQL. Duplikasi data terjadi ketika ada lebih dari satu baris dalam tabel yang memiliki nilai yang sama pada beberapa kolom. Duplikasi data dapat disebabkan oleh berbagai hal, seperti kesalahan input data, duplikasi sumber data, atau kesalahan dalam proses penggabungan data.


Beruntungnya, SQL memiliki fungsi JOIN table yang bisa menghindari adanya duplikasi pada data. Apabila duplikasi data ini dibiarkan maka akan mempengaruhi hasil pengolahan data kita walaupun kita sudah melakukannya dalam jumlah data yang besar. Nah, apabila terjadi duplikasi data terus bagaimana tipsnya? Pada artikel kali ini, kita akan membahas tentang tips menyingkirkan duplikasi data dengan operasi JOIN pada bahasa pemrograman SQL. 


1. Melibatkan Operasi ON

Bagi seorang pemula yang baru belajar SQL pastinya tidak familiar dengan operasi SQL JOIN. Apalagi sesering operasi yang simple seperti FROM tanpa menggunakan operasi JOIN ketika ingin menggabungkan kedua informasi atas dua tabel atau lebih. Namun, dengan cara ini tentu merupakan sintaks yang valid sehingga tidak memunculkan output Error. Hasilnya nanti berupa gabungan silang dengan semua baris dari satu tabel kemudian digabungkan dengan semua baris pada tabel lain.


Kita coba dengan satu contoh dimana ceritanya kita ingin mendapatkan informasi pelanggan yang membeli rumah tertentu (kita kasih kodenya dengan ID #2134). Berikut adalah kuerinya:

 SQL

Berdasarkan kueri diatas, didapatkan output sebagai berikut:

SQL

Nah, coba kalian perhatikan. Disini nomor house Idnya sama semua nih 2134. Tapi kita perlu menspesifikkan dengan menggunakan JOIN. Caranya gimana? Dengan menggabungkan antara FROM dan JOIN melalui klausa ON. Berikut adalah contohnya:

SQL

Disini, kita dapat menspesifikkan data Customer ID dari kolom Sales untuk mencocokkan antara Customer ID ke dalam Customers Table. Berikut adalah hasilnya

SQL


Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula


2. Menggunakan Operasi Incomplete ON Conditions

Terkadang dalam melakukan operasi pada bahasa pemrograman SQL tentunya ada satu kondisi dimana kita ingin melakukan operasi JOIN hanya satu kolom. Justru dengan cara ini hasilnya malah memunculkan baris yang duplikat. Contoh, kita coba melihat pengalaman seseorang ketika menjabat sebagai agen properti yang menjualkan unitnya sampai sold alias benar-benar kejual. Kita bisa melakukan operasi JOIN pada kolom sales dan kolom agents pada agents last name. Berikut adalah sintaksnya:

SQL

Dari sintaks berikut, inilah hasilnya:

SQL

Ternyata, sintaks yang barusan kita running justru menghasilkan kolom yang duplikat. Contohnya pada house_id 2134. Disitu tercantum dua nama sekaligus dalam satu house_id yang sama. Ada Maria dan Sophia yang memiliki last name yang sama yaitu Scott. SQL menangkap bahwa muncul dua kali sehingga terjadi duplikat. Padahal mereka berbeda agen dari segi pengalaman. Sophia 3 tahun dan Maria hanya 1 tahun saja. Terus bagaimana caranya?


Caranya mudah saja, kita akan menggabungkan antara kolom sales dan kolom agents dengan memisahkan last name dan first name. Berikut adalah contoh sintaksnya:

SQL

Bisa dilihat bahwa penggunaan klausa ON disini memperjelas bahwa agent last name disandingkan dengan klausa AND dimana menjadi pemisah antara kolom first name dan last name. Berikut adalah hasil outputnya:

SQL


3. Memilih Subset Kolom

Terkadang pada suatu kondisi, ada memang hasil output SQL menampilkan data yang duplikat namun seolah-olah data ini muncul karena subset kolom yang diminta tidak menunjukkan perbedaan antara kolom satu dengan yang lain. Coba kita ketikkan salah satu sintaks berikut untuk mengetahui agen mana saja yang berhasil menjualkan unitnya. Berikut adalah contoh sintaksnya:

SQL

Sekilas sih tidak ada problem apa-apa ya, tapi coba kita lihat hasilnya

SQL

Terdapat dua output yang memiliki nilai sama yaitu Alexandr McGregor yang memang identik. Apabila user menambahkan house ID secara manual maka akan muncul dua kali jika menggunakan klausa SELECT pada SQL. Sebab, asumsinya adalah bisa saja dalam satu hari terdapat dua kali transaksi unit yang kebetulan ditangani langsung. Maka dari itu muncul dua kali. 


Jika memang tidak ingin muncul dua kali maka bisa menggunakan klausa SELECT DISTINCT. Adapun fungsi dari SELECT DISTINCT adalah pengguna hanya memunculkan satu baris saja. Berikut adalah sintaksnya:

SQL

Dengan memakai fungsi SELECT DISTINCT ini maka hasilnya sebagai berikut:

SQL


 Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data


4. Cantumkan Baris Yang Cocok Saja

Terakhir, kita bisa menggunakan baris yang cocok untuk menyingkirkan duplikasi data pada SQL. Masalah serupa biasanya terjadi apabila pengguna ingin mencantumkan baris dari satu tabel. Tapi kadang-kadang juga ada beberapa output yang mungkin cocok pada tabel lain. Contoh, kita ingin mencantumkan semua pelanggan yang membeli rumah melalui agen. Maka kita bisa menggunakan query berikut:

SQL

Maka hasilnya adalah sebagai berikut:

 SQL

Jika dilihat-lihat hasilnya, sepertinya ada yang duplikat nih. Yap, pada dua kolom terakhir. Disitu tertulis IVAN LEE. Asumsinya kenapa double, karena bisa jadi Ivan ini closingan dua kali dalam satu hari. Salah satu klausa yang bisa meminimalisir adanya duplikasi data pada bagian ini adalah dengan menggunakan keyword EXISTS. Berikut adalah contoh sintaksnya:

SQL

Setelah kita tahu, keyword EXIST seperti apa. Jadi intinya, EXIST ini akan menghilangkan salah satu baris yang dobel menjadi satu baris saja tanpa duplikat. Berikut adalah outputnya:

SQL


Penggunaan fungsi join table ini adalah salah satu hal yang banyak digunakan oleh para analis sebagai salah satu cara untuk memudahkan prosesnya. DQLab merupakan suatu platform belajar online yang berfokus pada pengenalan Data Science & Artificial Intelligence (AI) dengan menggunakan berbagai bahasa pemrograman populer. Selain itu DQLab merupakan platform edukasi pertama yang mengintegrasi fitur ChatGPT.


DQLab juga menggunakan metode HERO, yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. Untuk bisa merasakan pengalaman belajar yang praktis & aplikatif yuk langsung saja sign up di DQLab.id


Penulis: Reyvan Maulid



Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login