Skip to main content

2. Filter - JOIN Syntax.html

 Filter & JOIN Syntax

Pendahuluan

Hai stupenss kita bertemu kembali, dalam materi yang membahas Filter & JOIN Syntax pada pemrograman database. Dalam dunia teknologi informasi, sistem database memainkan peran yang sangat penting dalam menyimpan, mengatur, dan memanipulasi data. Salah satu aspek kunci dalam pengelolaan database adalah kemampuan untuk melakukan pemfilteran dan penggabungan data.

Dalam materi ini, kita akan fokus pada Filter & JOIN Syntax, dua konsep yang esensial dalam pemrograman database. Filter Syntax digunakan untuk mempersempit data yang diambil dari database berdasarkan kondisi-kondisi tertentu. Dengan menggunakan Filter Syntax, kita dapat mengambil hanya data yang memenuhi kriteria tertentu, yang sangat berguna dalam analisis data dan pengambilan keputusan.

Selain itu, kita juga akan mempelajari JOIN Syntax, yang memungkinkan kita untuk menggabungkan data dari beberapa tabel yang berbeda berdasarkan hubungan yang telah ditentukan. JOIN Syntax memainkan peran kunci dalam penggabungan data untuk analisis yang lebih kompleks dan komprehensif.

Dalam materi ini, kita akan mempelajari sintaksis dan contoh penggunaan Filter & JOIN Syntax dalam beberapa jenis database populer seperti MySQL, PostgreSQL, dan SQLite. Kami akan membahas berbagai jenis Filter Syntax seperti WHERE, AND, OR, serta variasi JOIN Syntax seperti INNER JOIN, LEFT JOIN, dan RIGHT JOIN. Kami juga akan membahas beberapa contoh penggunaan Filter & JOIN Syntax dalam skenario nyata.

Pemahaman yang baik tentang Filter & JOIN Syntax akan memberikan Anda kemampuan untuk mengambil, memanipulasi, dan menggabungkan data dengan efisiensi dan akurasi yang tinggi. Pengetahuan ini akan berguna dalam pengembangan aplikasi, analisis data, dan pengambilan keputusan yang berbasis data.

Baiklah, mari kita mulai menjelajahi dunia Filter & JOIN Syntax dalam pemrograman database. Selamat belajar, dan semoga materi ini bermanfaat bagi perjalanan Anda dalam menguasai pemrograman database.

 

SQL Filter

Filter SQL adalah mekanisme yang digunakan dalam bahasa SQL untuk membatasi atau mempersempit hasil query yang dihasilkan dari sebuah database. Filter ini memungkinkan kita untuk menentukan kriteria atau kondisi tertentu yang harus dipenuhi oleh data yang ingin kita ambil.

Dalam SQL, filter diimplementasikan menggunakan klausa WHERE dalam pernyataan SELECT. Klausa WHERE mengikuti pernyataan SELECT dan digunakan untuk menyatakan kondisi yang harus dipenuhi oleh setiap baris data yang akan dikembalikan oleh query. Filter ini umumnya melibatkan perbandingan antara nilai kolom (field) dalam tabel dan nilai yang ditentukan.

Untuk mencoba sql filter sebelumnya teman teman bisa mendownload database di link berikut lalu ikuti cara dibawah ini untuk mengimport database.

  1. Pastikan teman teman sudah menginstall xampp pada laptop teman teman, lalu masuk ke direktori xampp/mysql/bin.

 

 

 

 

  1. Berikutnya ketika perintah mysql -u root -p dan masukan password. Biasanya untuk user root tidak memiliki password, jadi teman teman bisa langsung menekan enter.
  2. Lalu teman teman ekstrak file database yang sudah teman teman download lalu pada command prompt jalankan perintah berikut :
    source C:\Users\USER\Downloads\mysqlsampledatabase.sql
  3. Jalankan show databases; untuk melihat apakah database sudah berhasil terimport
  4. setelah itu jalankan use classicmodels; kita akan memakai database classicmodels untuk berlatih.

Operator Perbandingan:

  1. Operator = & !=
    Kegunaan dari operator "sama dengan" (=) adalah untuk mencari data yang memiliki nilai yang persis sama dengan nilai yang ditentukan. Misalnya, disini kita akan mencari nama Andy pada tabel employees lalu pada kolom firstName, kita dapat menjalankan perintah SELECT * FROM employees WHERE firstName = 'Andy';

    kegunaan dari operator "tidak sama dengan" ( != atau <> ) adalah untuk mencari data yang memiliki nilai yang berbeda dengan nilai yang ditentukan. Misalnya, disini kita akan mencari nama selain Andy pada tabel employees lalu pada kolom firstName, kita dapat menjalankan perintah SELECT * FROM employees WHERE firstName != 'Andy';
  2. Operator < & <=

Operator < digunakan untuk memeriksa apakah suatu nilai lebih kecil daripada nilai lainnya. Operator <= digunakan untuk memeriksa apakah suatu nilai lebih kecil atau sama dengan nilai lainnya. Misalnya kita akan mencari credit limit yang kurang dari < 21000.00 dan <= 21000.00.

SELECT * FROM customers WHERE creditLimit < 124900.00;



 

 

 

SELECT * FROM customers WHERE creditLimit <= 124900.00;



  1. Operator > & >=
    Operator > digunakan untuk memeriksa apakah suatu nilai lebih besar daripada nilai lainnya.Operator >= digunakan untuk memeriksa apakah suatu nilai lebih besar atau sama dengan nilai lainnya. Misalnya kita akan mencari credit limit > 124900.00 dan >= 124900.00.

SELECT * FROM customers WHERE creditLimit > 124900.00;



SELECT * FROM customers WHERE creditLimit >= 124900.00;


  1. Operator LIKE, IN, & BETWEEN
    Operator LIKE digunakan untuk melakukan pencarian pola (pattern matching) pada nilai string. Ini memungkinkan Anda untuk mencocokkan nilai dengan pola tertentu menggunakan karakter spesial seperti wildcard (% dan _). Misalnya kita akan mencari nama pada tabel employee yang berawalan dari huruf j maka dapat menjalankan perintah berikut

SELECT * FROM employees WHERE firstName LIKE 'J%';

Operator IN digunakan untuk mencocokkan nilai dengan daftar nilai yang ditentukan. Dengan menggunakan operator IN, Anda dapat mencari data yang memiliki nilai yang cocok dengan salah satu dari beberapa nilai yang ditentukan. Misalnya kita akan mencari nama pada tabel employee dengan nama 'Larry', 'Tom', dan 'Julie' maka dapat menjalankan perintah berikut

SELECT * FROM employees WHERE firstName IN ('Larry', 'Tom', 'Julie');


Operator BETWEEN digunakan untuk mencari nilai di antara dua nilai batas (inclusive). Ini berguna untuk mencari data dalam rentang nilai tertentu. Misalnya kita akan mencari credit limit antara 114900.00 dan 127300.00 maka kita dapat menjalankan perintah berikut

SELECT * FROM customers WHERE creditLimit BETWEEN 114900.00 AND 127300.00;



Operator Logika:

  1. Operator AND:

Operator AND digunakan untuk menggabungkan dua atau lebih kondisi dengan persyaratan bahwa semua kondisi tersebut harus terpenuhi agar baris data dipilih. Misalnya kita akan mencari customer dengan credit limit antara 114900.00 dan 127300.00 dan berada di kota USA maka kita dapat menjalankan perintah berikut

SELECT * FROM customers WHERE creditLimit BETWEEN 114900.00 AND 127300.00 AND country = 'USA';

  1. Operator OR:

Operator OR digunakan untuk menggabungkan dua atau lebih kondisi dengan persyaratan bahwa setidaknya satu kondisi harus terpenuhi agar baris data dipilih. Misalkan kita ingin mencari pengguna dengan nama "Peter" atau "Mike" pada customer. kita dapat menggunakan operator OR sebagai berikut:

SELECT * FROM customers WHERE contactFirstName = 'Peter' OR contactFirstName = 'Mike';

  1. Operator NOT:

Operator NOT digunakan untuk membalikkan hasil kondisi yang diberikan. Ini berarti bahwa jika kondisi awal terpenuhi, maka kondisi NOT-nya tidak terpenuhi, dan sebaliknya. Misalkan kita ingin mencari pada kolom state yang tidak bernilai null maka dapat melakukan perintah berikut

SELECT * FROM customers WHERE NOT state = 'NULL';


Dengan menggunakan operator perbandingan, kita dapat membandingkan nilai dalam filter SQL untuk mempersempit data yang akan diambil. Sedangkan, operator logika memungkinkan kita menggabungkan kondisi-kondisi dalam filter SQL untuk menciptakan logika yang lebih kompleks dalam memfilter data.

Klausa SQL

Klausa

Keterangan

WHERE

Menentukan kondisi atau kriteria untuk memfilter data

JOIN

Menggabungkan data dari dua atau lebih tabel

GROUP BY

Mengelompokkan data berdasarkan kolom tertentu

HAVING

Menentukan kondisi untuk memfilter hasil GROUP BY

ORDER BY

Mengurutkan data berdasarkan kolom tertentu

LIMIT

Membatasi jumlah baris data yang dikembalikan

OFFSET

Menggeser titik awal dalam hasil query

Klausa-klausa tersebut digunakan dalam pernyataan SQL untuk mengontrol, memanipulasi, atau membatasi hasil query. WHERE digunakan untuk memfilter data berdasarkan kondisi tertentu, JOIN digunakan untuk menggabungkan data dari beberapa tabel, GROUP BY digunakan untuk mengelompokkan data berdasarkan kolom tertentu, HAVING digunakan untuk memfilter hasil GROUP BY, ORDER BY digunakan untuk mengurutkan data, LIMIT digunakan untuk membatasi jumlah baris data yang dikembalikan, dan OFFSET digunakan untuk menggeser titik awal dalam hasil query.

SQL Join

Gambar 1. Penjelasan SQL JOIN

Gambar 9. Penjelasan SQL JOIN

SQL JOIN adalah mekanisme yang digunakan untuk menggabungkan data dari dua atau lebih tabel berdasarkan hubungan yang telah ditentukan sebelumnya. JOIN memungkinkan kita untuk mengambil data yang terkait dari tabel yang berbeda dan menghasilkan satu set data yang tergabung.

Gambar 10. Ilustrasi SQL JOINS

Terdapat beberapa jenis JOIN yang umum digunakan dalam SQL, antara lain:

  1. INNER JOIN: INNER JOIN menghasilkan gabungan data hanya untuk baris yang memiliki nilai yang cocok di kedua tabel yang terlibat dalam JOIN. Jika ada baris yang tidak memiliki nilai yang cocok di kedua tabel, baris tersebut akan diabaikan dalam hasil JOIN.
  2. LEFT JOIN: LEFT JOIN menghasilkan gabungan data untuk semua baris di tabel kiri (tabel pertama dalam pernyataan JOIN) dan baris yang cocok di tabel kanan (tabel kedua dalam pernyataan JOIN). Jika tidak ada nilai yang cocok di tabel kanan, maka nilai NULL akan digunakan untuk kolom yang berasal dari tabel kanan.
  3. RIGHT JOIN: RIGHT JOIN adalah kebalikan dari LEFT JOIN. RIGHT JOIN menghasilkan gabungan data untuk semua baris di tabel kanan (tabel kedua dalam pernyataan JOIN) dan baris yang cocok di tabel kiri (tabel pertama dalam pernyataan JOIN). Jika tidak ada nilai yang cocok di tabel kiri, maka nilai NULL akan digunakan untuk kolom yang berasal dari tabel kiri.
  4. FULL JOIN (Tidak dapat digunakan pada MYSQL): FULL JOIN menghasilkan gabungan data untuk semua baris di kedua tabel yang terlibat dalam JOIN, termasuk baris yang tidak memiliki nilai yang cocok di salah satu tabel. Jika tidak ada nilai yang cocok, maka nilai NULL akan digunakan.

Selain itu, terdapat juga JOIN lainnya seperti CROSS JOIN, yang menghasilkan gabungan semua baris dari kedua tabel tanpa memeriksa kondisi penghubung, dan SELF JOIN, yang digunakan untuk menggabungkan data dalam satu tabel dengan dirinya sendiri.

JOIN adalah alat yang kuat dalam SQL yang memungkinkan kita untuk menggabungkan data dari beberapa tabel dan memperluas kemampuan analisis dan pengambilan data. Dengan menggunakan JOIN, kita dapat menggabungkan informasi yang relevan dari sumber data yang terkait dan membangun hubungan yang kompleks antara tabel-tabel dalam basis data.

Implementasi

Misalkan kita memiliki dua tabel: "Customers" dan "Orders".Tabel "Customers" memiliki kolom-kolom berikut: CustomerID (kunci utama), CustomerName, dan City.

Tabel "Orders" memiliki kolom-kolom berikut: OrderID (kunci utama), CustomerID (kunci asing yang merujuk ke CustomerID di tabel Customers), OrderDate, dan TotalAmount.

  1. Contoh INNER JOIN:

Gambar 11. Code INNER JOIN

Pada contoh diatas, INNER JOIN digunakan untuk menggabungkan data dari tabel Customers dan Orders berdasarkan nilai yang cocok di kolom CustomerID. Hasilnya adalah kumpulan data yang mencakup nama pelanggan (CustomerName), ID pesanan (OrderID), dan tanggal pesanan (OrderDate) untuk semua pelanggan yang memiliki pesanan.

  1. Contoh LEFT JOIN:

Gambar 12. Code LEFT JOIN

Dalam contoh ini, LEFT JOIN digunakan untuk menggabungkan data dari tabel Customers dengan tabel Orders. Hasilnya akan mencakup semua baris dari tabel Customers, termasuk pelanggan yang tidak memiliki pesanan. Jika pelanggan tidak memiliki pesanan, nilai kolom OrderID dan OrderDate akan menjadi NULL.

  1. Contoh RIGHT JOIN:

Gambar 13. Code RIGHT JOIN

Pada contoh RIGHT JOIN di atas, data dari tabel Orders dan Customers digabungkan berdasarkan nilai yang cocok di kolom CustomerID. Hasilnya akan mencakup semua pesanan yang ada, termasuk pelanggan yang telah dihapus dari tabel Customers. Jika pelanggan dihapus, nilai kolom CustomerName akan menjadi NULL.

Itu adalah beberapa contoh implementasi SQL JOIN. Perhatikan bahwa ada berbagai jenis JOIN dan sintaksisnya mungkin sedikit berbeda tergantung pada sistem basis data yang digunakan. Penting untuk memahami struktur tabel, hubungan antar tabel, dan kebutuhan data yang diinginkan untuk memilih jenis JOIN yang tepat dan membuat query yang relevan.

Union

UNION adalah sebuah operator dalam SQL yang digunakan untuk menggabungkan hasil dari dua atau lebih SELECT statements menjadi satu set data tunggal. Union menggabungkan baris-baris yang unik dari setiap pernyataan SELECT dan menghasilkan satu set data tanpa duplikat.

Berikut adalah sintaksis umum untuk menggunakan UNION:

Gambar 14. Code UNION

Beberapa poin penting tentang UNION:

  1. Jumlah kolom dan tipe data yang dihasilkan oleh setiap pernyataan SELECT harus sama. Kolom-kolom yang dipilih dalam setiap pernyataan SELECT harus sejajar satu sama lain dalam hal jumlah dan tipe data yang sesuai.
  2. Urutan kolom dalam pernyataan SELECT harus sama. Urutan kolom yang dipilih dalam setiap pernyataan SELECT harus sejajar satu sama lain dalam hal urutan kolom yang sesuai.
  3. UNION secara otomatis menghilangkan baris duplikat. Jika ada baris yang identik dalam hasil SELECT statements, UNION akan menggabungkannya menjadi satu baris tunggal dalam hasil akhir.
  4. UNION ALL adalah variasi dari UNION yang tidak menghilangkan baris duplikat. Jika Anda ingin menyertakan semua baris yang terdapat dalam setiap SELECT statement, termasuk yang duplikat, Anda dapat menggunakan UNION ALL.
  5. Setiap pernyataan SELECT dalam UNION dapat memiliki klausa WHERE terpisah. Klausa WHERE pada setiap pernyataan SELECT dapat digunakan untuk memfilter data sebelum menggabungkannya dengan UNION.

Penggunaan UNION dapat berguna dalam situasi di mana Anda perlu menggabungkan data dari beberapa tabel atau query yang berbeda menjadi satu set data tunggal. Hal ini sering digunakan untuk menggabungkan hasil dari beberapa query yang memiliki struktur dan tipe data yang serupa. UNION memungkinkan Anda untuk menghasilkan hasil yang terkombinasi dan mempermudah analisis dan manipulasi data.

 

Referensi

https://learn.microsoft.com/en-us/sql/relational-databases/replication/merge/join-filters?view=sql-server-ver16

https://www.programiz.com/sql/join

https://www.ibm.com/docs/en/tivoli-netcoolimpact/7.1?topic=filters-sql

https://dataschool.com/how-to-teach-people-sql/sql-join-types-explained-visually/

https://codepolitan.com/blog/tujuh-teknik-join-di-sql-596c537f0deb3

https://hariono.site.unwaha.ac.id/operator-and-or-dan-not-pada-sql/

Last modified: Wednesday, 9 August 2023, 2:19 PM