Fundamental SQL Using SELECT Statement

Devita Widyasari
3 min readOct 18, 2020

--

Kali ini kita akan membahas penggunaan SQL dalam menganalisis data. DQLAB Challenge kita minggu ini yaitu mempelajari bagaimana penggunaan query SQL — SELECT. Sebelum masuk ke dalam inti, mari kita perkenalan dahulu mengenai apa itu SQL dan RDBMS.

Contoh Basis Data Relasional (Source : pediaa.com)

SQL (Structured Query Language) merupakan bahasa yang digunakan untuk mengolah data dalam suatu sistem database yaitu RDBMS atau Sistem Manajemen Database Relasional. Pengolahan data disini mencakup aktivitas menambahkan, mengubah, mengupdate, mencari dan menghapus data dari database.

Basis Data Relasional itu sendiri merupakan jenis basis data yang terstruktur dimana berisi tabel-tabel yang saling berelasi satu sama lain. Sifat Basis Data Relational ini yaitu mudah dikelola dan fleksibel. Contoh produknya yaitu MySQL, SQLite, PostgreSQL.

Terdapat 4 kategori dalam penggunaan bahasa SQL:

  1. DDL (Data Definition Language)

DDL berisi kumpulan perintah dalam SQL yang bertugas untuk mendefinisikan struktur database (table, kolom dan tipe data). Perintah DDL mencakup query CREATE untuk membuat, ALTER untuk mengubah (biasanya diikuti query ADD, RENAME, SET DATA TYPE), dan DROP untuk menghapus.

2. DML (Data Manipulation Language)

DML berisi kumpulan perintah dalam SQL yang bertugas untuk memanipulasi data dari suatu database. Perintah DDL mencakup query INSERT untuk memasukkan data kedalam tabel, UPDATE untuk memperbarui data, DELETE untuk menghapus, dan SELECT untuk mengambil data. DML selanjutnya akan dibahas lebih detail dibawah ini.

3. DCL (Data Control Language)

DCL berisi perintah SQL yang berhubungan dengan keamanan database. Query-nya mencakup GRANT dan REVOKE. Grant digunakan untuk memberikan hak akses user sehingga user dapat melakukan operasi DDL dan DML pada database. Sebaliknya, Revoke berfungsi untuk menghilangkan hak akses tersebut.

4. TCL (Transaction Processing Language)

TCL berisi perintah SQL yang berfungsi dalam pemrosesan sebuah transaksi dalam database. Contoh query nya yaitu BEGIN TRAN jika transaksi akan memulai , ROLLBACK untuk tidak mengeksekusi query (jika terjadi kesalahan), dan COMMIT untuk melakukan transaksi.

SELECT, DISTINCT, LIMIT

Selanjutnya, kita akan langsung membahas penggunaan query SELECT.

SELECT [nama kolom] FROM [nama tabel]:
SELECT * FROM employee;

Tanda * menandakan “All” atau seluruh kolom yang diambil dari tabel Employee. Jika hanya ingin menampilkan beberapa kolom, pisahkan dengan menggunakan tanda koma.

SELECT firstname, lastname FROM employee;

Query DISTINCT digunakan untuk menghilangkan duplikasi pada baris output, dan query LIMIT digunakan untuk membatasi jumlah baris yang ingin ditampilkan.

SELECT DISTINCT deptname FROM department LIMIT 5;

PREFIX & ALIAS

Dalam penulisan query SELECT biasanya digunakan prefix dan alias untuk mempermudah nantinya dalam penggunaan query JOIN.

  • Prefix yaitu dimana kita akan menambahkan nama tabel di depan nama kolom untuk menandakan bahwa kolom X milik tabel A atau tabel B.
  • Alias yaitu dimana kita memberikan alias atau nama lain untuk tabel maupun kolom.
#1
SELECT employee.id, employee.firstname FROM employee;
#2
SELECT employee.id AS NIK, employee.firstname AS nama FROM employee;
#3
SELECT t1.id AS NIK, t1.firstname AS nama FROM employee AS t1;
#4
SELECT t1.id NIK, t1.firstname nama FROM employee t1;

query #1 merupakan contoh penggunaan prefix dengan nama kolom, prefix digunakan sebelum nama kolom dan dipisahkan dengan tanda titik. query #2 kita tambahkan dengan penggunaan alias pada kolom yang disisipkan diantara nama kolom awal dan nama kolom yang diinginkan. query #3 kita tambahkan penggunaan alias pada nama tabel, sehingga prefix pada nama kolom juga berubah. query #4 merupakan contoh penggunaan prefix dan alias dengan menghilangkan query ‘AS’.

WHERE, OR - AND

Seperti if else yang berfungsi untuk menentukan output sesuai kondisi tertentu, dalam SQL, kita gunakan query WHERE. WHERE digunakan setelah SELECT .. FROM .. statement. Kondisi dapat dituliskan lebih dari 1 dengan menggunakan query OR ataupun AND, sesuai dengan kebutuhan.

SELECT t1.id NIK, t1.firstname nama, t1.age usia, t1.division divisi
FROM employee t1
WHERE t1.age > 25 AND t1.division = 'Data Analytics';

ORDER BY (ASC / DESC)

Query ORDER BY digunakan untuk mengurutkan data, dari yang terkecil hingga yang terbesar atau sebaliknya. Default-nya ORDER BY ASC (ascending), sehingga jika tidak dituliskan ASC maka output akan tetap berurutan dari yang terkecil. sedangkan DESC (descending) yaitu mengurutkan dari yang terbesar. Penggunaannya terakhir setelah statement SELECT .. FROM .. WHERE ..

Contoh soal :

Ambil data karyawan berupa NIK, nama depan, usia dan divisi dari tabel karyawan yang usianya diatas 25 tahun dan tergabung dalam divisi Data Analytics. Tampilkan data dari usia tertua.

SELECT t1.id NIK, t1.firstname nama, t1.age usia, t1.division divisi
FROM employee t1
WHERE t1.age > 25 AND t1.division = 'Data Analytics'
ORDER BY t1.age DESC;

--

--