BEDUG MERIAH Diskon 95%
Belajar Data 6 BULAN Bersertifikat hanya Rp150K!

0 Hari 0 Jam 21 Menit 53 Detik

Calon Praktisi Data Wajib Kenali Salah Satu Fungsi SQL LEFT JOIN

Belajar Data Science di Rumah 10-Agustus-2022
https://dqlab.id/files/dqlab/cache/0e4859f472e95ec26e8d1a69480a4e4f_x_Thumbnail800.jpg

SQL yang merupakan singkatan dari Structured Query Language merupakan salah satu bahasa pemrograman yang harus dikuasai oleh praktisi data. SQL sendiri merupakan query yang dirancang agar bisa melakukan pengambilan informasi tertentu yang ada di database. 


Saat ini sebagian besar profesi yang berkaitan dengan data membutuhkan SQL, beberapa diantaranya adalah Data Scientist, Data Analyst, Data Engineer, Big Data Architect, Quality Assurance Tester, Business Analyst, dan lain sebagainya.


SQL JOIN adalah salah satu skill dasar yang perlu dipelajari jika kalian ingin menekuni bahasa pemrograman SQL. Sebab dengan SQL JOIN, kita dapat melakukan operasi penggabungan secara langsung tanpa harus memindahkan satu-satu datanya. 


Dibalik banyaknya jumlah data yang tersedia dalam suatu database memungkinkan seorang programmer ataupun developer membutuhkan formula khusus. Beruntungnya SQL memiliki banyak formula untuk melakukan operasi dalam sebuah database. Salah satu operasi SQL Join yang lumayan sering digunakan adalah LEFT JOIN.


Bagi kalian yang ingin mengetahui lebih dalam mengenai LEFT JOIN, artikel di bawah ini sangat cocok untuk kalian baca!


1. Fungsi JOIN SQL

sql

JOIN merupakan salah satu perintah dasar pada SQL. Ketika melakukan analisis, data harus lengkap dan sesuai dengan kasus yang akan diselesaikan. Namun seringkali untuk memperoleh data yang lengkap harus menggabungkan beberapa tabel yang berkaitan.


JOIN digunakan untuk menggabungkan tabel melalui kolom atau key tertentu yang nilainya saling terkait untuk memperoleh set data dengan informasi yang lengkap.


Beberapa jenis fungsi join dalam SQL adalah Inner Join, Left Join, Right Join dan Full Join. Inner Join adalah fungsi JOIN yang akan memilih semua baris dari kedua tabel selama kondisinya terpenuhi. Left join adalah fungsi JOIN untuk mengembalikan semua baris tabel di sisi kiri dan mencocokkan baris di sisi kanan. Jika terdapat baris yang tidak cocok di sisi kanan maka data yang tertampil adalah null.


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


2. Cara Kerja LEFT JOIN

Pada Left Join, semua data pada tabel sebelah kiri akan ditampilkan, sedangkan data pada tabel disebelah kanan hanya akan ditampilkan jika data terkait pada tabel tersebut muncul di tabel sebelah kiri. Baris–baris yang tidak memiliki pasangan pada tabel yang ada di sebelah kiri kata “JOIN” akan tetap ditampilkan.


Jika digambarkan dalam bentuk diagram venn, bentuk Left Join tampak pada gambar berikut:

sql 


Sintaks sederhananya pada SQL adalah seperti ini:

SELECT kolom_1, kolom_2 
FROM table_1 
LEFT JOIN table_2 
ON table_1.kolom_key = table_2.kolom_key;

 

Supaya lebih memahami sintaks left join di atas, kita akan menggunakan contoh pada 2 tabel di bawah ini.

 Tabel_A:

sql

Tabel_B:

sql


Maka, jika kita terapkan pada tabel A dan B di atas, kode SQLnya akan menjadi seperti berikut.

A LEFT JOIN B:
SELECT *
FROM TABLE_A
LEFT JOIN TABLE_B
ON TABLE_A.a = TABLE_B.b;

Hasil:

sql 


Left Join akan menyimpan semua row yang ada di Tabel A. Untuk row yang ada di Tabel A tapi tidak ada di Tabel B, row itu akan dijadikan null.


3. Produk DQLab Mart

Di DQLab sendiri, terdapat salah satu modul yang membahas bagaimana cara menggunakan fungsi-fungsi yang ada di SQL. Salah satunya fungsi Left Join. Project ini akan membantu kita dalam melatih menyelesaikan masalah dengan pola pikir yang lebih terstruktur dan mengikuti setiap instruksi yang diberikan, sehingga nantinya akan diperoleh hasil yang sesuai dengan permintaan. 


Dalam project ini, digunakan 4 tabel data yang terdapat di dalam database. Namun disini kita hanya akan menggunakan salah satu tabel saja yaitu tabel pelanggan:

Tabel ms_pelanggan (SELECT * FROM ms_pelanggan)

sql


4. Mengurutkan Nama Pelanggan Tanpa Gelar

Salah satu challenge atau masalah yang harus diselesaikan dalam modul Data Engineer Challenge with SQL milik DQLab ini adalah menampilkan nama-nama pelanggan dan urutkan hasilnya berdasarkan kolom nama_pelanggan dari yang terkecil ke yang terbesar (A ke Z), namun gelar tidak boleh menjadi bagian dari urutan.


Contoh: Ir. Agus Nugraha harus berada di atas Heidi Goh.

Penyelesaian:

Untuk case ini kita dapat melakukan pengkondisian dengan fungsi CASE WHEN untuk kondisi Ir. tidak diperhitungkan, kemudian menggunakan perintah SUBSTRING. Dimana perintah ini bisa berfungsi untuk memotong string. untuk query dasarnya sebagai berikut:

SUBSTRING (nama_kolom, index_awal, jumlah_karakter).

(apabila kita tidak menuliskan jumlah_karakter maka data yang akan diambil jumlah karakternya tidak dibatasi nilai tertentu). Kemudian kita urutkan dengan ORDER BY ASC.

Query nya adalah sebagai berikut :

SELECT
nama_pelanggan
FROM
ms_pelanggan
ORDER BY
CASE WHEN LEFT (nama_pelanggan,3) = ‘Ir.’ THEN
SUBSTRING(nama_pelanggan,5) ELSE nama_pelanggan END asc;


Result:

sql


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


DQLab merupakan salah satu contoh tempat belajar Data Science yang menawarkan kursus online bagi kamu yang ingin mulai belajar Data Science. DQLab sendiri telah melahirkan praktisi data yang mahir dalam dibidangnya. 


Bersama DQLab, kamu akan belajar secara terstruktur dengan studi kasus dan data yang sesuai dengan real case industry. DQLab juga menyediakan forum untuk sharing dengan 95,000++ member DQLab, maupun dengan ahli praktisi pakar data.


Masih banyak variasi query JOIN selain LEFT JOIN, maupun query-query lain yang sangat berguna menunjang pengerjaan database. Sudah siap menguasai SQL? Yuk selesaikan modul Fundamental SQL: INNER JOIN dan modul lainnya di DQLab.id!


Penulis: Salsabila MR

Editor:  Annisa Widya Davita

Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login