Dasar-Dasar SQL untuk Data Analyst
SQL adalah salah satu skill yang harus dikuasai jika ingin menjadi seorang Data Analyst. SQL digunakan untuk berinteraksi dengan database. Keunggulan SQL adalah mampu memproses data dalam jumlah besar dalam waktu singkat.
Structured Query Language (SQL) adalah bahasa standar untuk menyimpan, memanipulasi, dan mengambil data dalam database (w3school). khususnya database dengan tipe Relational Database Management System (RDBMS), yaitu database yang menyimpan data dalam bentuk tabular dan mempunyai hubungan antar tabel satu dengan tabel lainnya.
Spreadsheet akan mulai terasa berat (lemot) ketika digunakan untuk mengolah data dalam jumlah besar (lebih dari sejuta baris dan kolom). Saat seperti inilah kita membutuhkan SQL untuk mengolah data dan menyimpannya dalam database. SQL bisa menarik ribuan data dalam jangka waktu beberapa detik saja.
Meski SQL merupakan bahasa standar yang sudah baku, tetapi tetap ada perbedaan dialek pada setiap jenis SQL. Kali ini saya akan menggunakan PostgreSQL serta PgAdmin.
Jenis-Jenis Perintah SQL
Ada beberapa jenis perintah yang digunakan untuk mengakses data dalam database. Jenis perintah SQL adalah sebagai berikut
- DDL (Data Definition Language)
DDL digunakan untuk membangun kerangka database seperti tabel dan database itu sendiri. Perintah penting dalam DDL diantaranya: CREATE, ALTER, DROP - DML (Data Manipulation Language)
DML dimanfaatkan untuk memanipulasi data dalam database. Perintah penting dalam DML diantaranya: SELECT, INSERT, UPDATE, DELETE. Seorang Data Analyst akan lebih banyak menggunakan DML daripada jenis perintah SQL lainnya. - DCL (Data Control Language)
DCL berfungsi untuk mengontrol data dan server database. Misalnya menentukan siapa user yang dalam mengakses atau mengubah data. Perintah Penting dalam DCL adalah GRANT dan REVOKE.
Berikut penjelasan perintah-perintah SQL yang sering digunakan:
- CREATE
CREATE digunakan untuk membuat database atau membuat tabel. Untuk membuat databasae perintahnya cukup sederhana yaitu:
CREATE DATABASE nama_database
Misalnya membuat database dengan nama betamart, maka syntaxnya sebagai berikut:
CREATE DATABASE betamart;
Jika menggunakan GUI seperti PgAdmin caranya juga cukup mudah.
- klik kanan pada menu database
- pilih create
- database
CREATE juga bisa digunakan untuk membuat tabel. Namun langkah-langkahnya sedikit lebih komplek dibandingkan dengan membuat database. Ketika membuat tabel, kita perlu menentukan nama, tipe data, serta constraint pada masing-masing kolom. Constraint tidak wajib ada pada setiap kolom, jika tidak spesifik ditentukan pada saat membuat tabel maka akan diisi denga default. Constraint berfungsi untuk menentukan data yang akan dimasukan pada kolom. Misalnya NOTNULL, UNIQUE, PRIMARY KEY, dan lain sebagainya.
Berikut Syntax untuk membuat tabel:
Kali ini kita akan membuat dua tabel pada database betamart, yaitu Customer dan Order.
Setelah dieksekusi (klik tanda play pada bar diatas) akan muncul dua tabel baru pada database betamart. Tepatnya pada Schemas => Tables.
note: syntax SQL ditulis dengan huruf kapital untuk membedakan dengan nama tabel atau nilai dalam tabel. Penggunaan semikolon (;) tidak wajib, hanya sebagai tanda pembatas untuk masing-masing syntax.
2. INSERT
Setelah berhasil membuat tabel, langkah selanjutnya adalah memasukkan data ke tabel menggunakan perintah INSERT. INSERT efektif untuk memasukkan data dengan sedikit baris. Untuk data dalam jumlah banyak kita bisa langsung meng-upload file data kedalam tabel.
Berikut adalah syntax untuk perintah INSERT
Penentuan nama kolom bersifat opsional. Jika tidak dituliskan nama kolom secara spesifik maka data akan dimasukkan sesuai dengan urutan kolom. Mesti tidak wajib tetapi penentuan kolom dalam INSERT sangat dianjurkan.
Dalam sekali eksekusi perintah INSERT, kita bisa memasukkan satu atau lebih data. Berikut contoh INSERT beberapa data sekaligus pada tabel Customer.
Tampilkan tabel Customer untuk melihat apakah data yang kita masukkan tadi sudah benar-benar masuk ke dalam tabel.
Dari sini kita tahu bahwa semua data yang telah dimasukkan dengan perintah INSERT telah berhasil masuk semua.
Perintah INSERT kurang tepat jika digunakan untuk memasukkan banyak data. Oleh karena itu, untuk memasukkan data yang banyak bisa memanfaatkan fitur Copy atau langsung mengupload file menggunakan PgAdmin.
Import file melaluiPgAdmin bisa dilakukan dengan cara:
- klik kanan pada tabel
- pilih import/eksport data
- pilih import
- pilih file yang akan dimasukkan
- atur format file dan encoding
- klik Ok
3. DELETE
Satu lagi jenis perintah DDL yang sering digunakan adalah DELETE yang berfungsi untuk menghapus database, tabel, maupun data dalam tabel. Penggunaan perintah DELETE biasanya dikombinasikan dengan perintah yang lain, misalnya: WHERE, untuk menghapus data tertentu (tidak menghapus seluruh data).
Kita juga bisa menghapus database dengan mudah menggunakan PgAdmin. Caranya:
- klik kanan pada database
- pilih Delete/Drop
note: selanjutnya saya akan menggunakan Supermart Database. Klik untuk mengunduh file. Buat database dengan nama Supermart, klik kanan pilih restore, kemudian sesuaikan path file.
4. SELECT
SELECT merupakan jenis perintah Data Manipulation Language yang paling penting. Perintah SELECT berfungsi untuk mengambil data pada tabel. SELECT selalu berpasangan dengan FROM, yang menentukan tabel mana yang akan diambil. SELECT bisa digunakan untuk mengambil seluruh data dengan memakai simbol Asterisk (*) atau mengambil sebagian data dengan menentukan kolom mana saja yang akan diambil.
Perintah SQL yang paling sederhana adalah mengambil semua data pada kolom. Misalnya kita akan mengambil semua data pada kolom custome, maka syntaxnya sebagai berikut:
SELECT *
FROM customer;
Ketika ingin mengambil kolom tertentu maka harus dituliskan secara spesifik nama kolomnya. Untuk mengambil beberapa kolom harus dipisahkan dengan tanda koma (,) seperti contoh berikut:
SELECT customer_name, age
FROM customer;
Ada beberapa syntax yang sering digunakan bersama dengan SELECT. Misalnya, DISTINCT yang berfungsi menampilkan data yang unik (tanpa duplikat) dari sebuah kolom, seperti fungsi unique pada python pandas. TOP berfungsi menampilkan beberapa data teratas, seperti fungsi head pada python pandas. LIMIT untuk membatasi data yang diambil.
Gambar diatas mengembalikan data unik dari kolom region, yaitu South, West, East, dan Central.
5. WHERE
Perintah WHERE berfungsi untuk memfilter data atau menampilkan data dengan kriteria tertentu. Misalnya ketika ingin menampilkan customer yang berusia diatas 50 tahun, namun kita hanya ingin melihat 10 data saja. Maka syntaxnya seperti berikut ini:
Perintah WHERE bisa digunakan untuk memfilter data dengan semua tipe data, seperti numerik, teks, date time dan lain sebagainya. Misalnya ingin melihat customer yang berasal dari kota New York City.
Perintah diatas hanya menampilkan customer_name, city, dan region yang sesuai dengan kriteria yaitu: city = ‘New York City’.
WHERE bisa dikombinasikan dengan operator mastematika (=, >, ≥, <. ≤), BETWEEN, LIKE, IN, serta operator logikal (AND, OR). Penjelasan lebih detail mengenai Filtering pada SQL akan saya bahas pada tulisan lain.
6. ORDER BY
Sesuai dengan namanya, perintah ORDER BY berfungsi untuk mengurutkan data. Secara default perintah ORDER BY akan mengurutkan dari terkecil (Ascending Order). Jika ingin mengurutkan dari yang terbesar perlu menambahkan perintah DESC (Descending Order).
Misalnya ketika ingin menampilkan 10 nama customer dengan usia paling tua. Maka syntaxnya seperti berikut ini:
ORDER BY juga bisa digunakan untuk data tipe teks dengan mengurutkan berdasarkan abjad A-Z (Ascending) atau Z-A (Descending).
Pada contoh diatas tidak diberi keteran DESC (Descending order, Z-A), sehingga menampilkan default ORDER yaitu ASC (Ascending order, A-Z).
Demikian ulasan saya tentang dasar-dasar SQL untuk Data Analyst. Semoga bermanfaat. Tulisan selanjutnya akan membahas tentang Filtering, Aggregation, serta Case selection.
Semoga tulisan ini bermanfaat. Sila dibaca dan dibagikan kepada yang lainnya. Terima kasih.