SQL Querying

SQL Querying – Salah satu keahlian yang penting untuk dalam bidang pemrograman maupun yang bercita cita menjadi Data Scientist. Dimana seorang Data Scientist handal akan memiliki kemampuan untuk melakukan ekstraksi berbagai tipe data dari database.

Keahlian dalam menggunakan SQL yang merupakan bahasa pemrograman standar untuk berkomunikasi dengan sistem database sangat diperlukan. dengan ini diharapkan kamu memahami dasar-dasar SQL sehingga kamu dapat mulai mengembangkannya untuk tujuan Data Science.

1. Aliasing

SQL alias digunakan untuk mengganti nama tabel atau nama kolom secara sementara. Keyword untuk menggunakan Alias adalah AS.

Contoh penggunaan Alias untuk mengganti nama kolom

SQL Querying - AliasingContoh penggunaan Alias untuk mengganti nama tabel

2. Querying, Sorting, Filtering

Syntax SQL paling sederhana terdiri dari keyword SELECT dan FROM. Untuk mengambil data menggunakan SQL, minimal dibutuhkan keyword SELECT diikuti nama-nama kolom, kemudian FROM diikuti nama tabel. Jika hanya ingin menampilkan baris yang unik saja, dapat digunakan SELECT DISTINCT.

Klausa WHERE diikuti oleh suatu kondisi dapat ditambahkan ke dalam query untuk melakukan filter. Jika ingin menambahkan lebih dari satu kondisi, dapat digunakan logical operator AND/OR di antara kondisi-kondisi yang ingin ditambahkan. Ada pula logical operator NOT, yang digunakan untuk menampilkan kondisi sebaliknya. Selain itu, ada beberapa keyword pendukung yang biasa dapat digunakan dalam WHERE seperti LIKE, BETWEEN, dan IN.

Keyword ORDER BY dapat ditambahkan ke dalam query untuk mengurutkan suatu kolom secara ascending maupun descending.

3. Basic Joining

SQL Join digunakan untuk melakukan penggabungan antara dua atau lebih tabel berdasarkan suatu kolom penghubung yang berelasi antara keduanya. Ada beberapa tipe SQL Join: Inner Join, Left Join, Right Join dan Full Outer Join.

4. Grouping

SQL dapat melakukan pengelompokkan baris dengan nilai yang sama dengan menggunakan keyword GROUP BY. Umumnya, keyword ini sering digunakan bersama dengan fungsi-fungsi agregasi di SQL seperti COUNT(), MIN(), MAX(), AVG() dan SUM().

5. Sub-querying

Subquery adalah suatu query yang berada di dalam sebuah query lainnya (query utama yang lebih besar). Subquery dapat berada di klausa SELECT, FROM dan WHERE.

Subquery di WHERE dapat berguna sebagai nilai filter

Sedangkan, subquery di FROM dapat berguna sebagai tabel sementara/virtual. Subquery yang berada di FROM harus diberi alias.

6. Common Table Expression

Common Table Expression atau CTE berguna untuk membuat tabel sementara/virtual. Keyword yang digunakan untuk membuat CTE adalah WITH <diikuti nama tabel sementara> AS <diikuti query untuk membuat tabel sementara tersebut>.

Contoh penggunaan CTE adalah sebagai berikut

7. Create, Read, Update, Delete

Syntax SQL juga bisa digunakan untuk memodifikasi database dan tabel. CREATE dapat digunakan untuk membuat tabel baru atau database baru.

Berikut contoh syntax CREATE TABLE.

SQL Querying - Create Table

UPDATE digunakan untuk memodifikasi/memperbaharui nilai-nilai tertentu dalam tabel

SQL Querying - Update Table

8. Set Operators

Ada beberapa set operator yang dapat digunakan pada SQL: UNION, INTERSECT dan MINUS.

UNION digunakan untuk menggabungkan dua atau lebih hasil query. Ada dua jenis UNION, yaitu UNION dan UNION ALL. Perbedaannya adalah UNION mengembalikan hasil yang unik dan tidak ada duplikat, sementara UNION ALL mengembalikan semua hasil penggabungan.

Adapun beberapa syarat melakukan UNION:

  • Jumlah kolom harus sama antara dua query
  • Tipe data dari semua kolom harus sama antara dua query
  • Urutan kolom yang dipilih harus sama antara dua query

SQL Querying - Union SQL

Penggunaan INTERSECT dan MINUS pada SQL mirip dengan UNION, hanya saja INTERSECT akan mengembalikan baris-baris yang ada pada kedua query, sedangkan MINUS akan mengembalikan hasil dari query pertama yang sudah dikurangi hasil dari query kedua.

Demikianlah panduan SQL Querying untuk Data Science maupun programming.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.