Fundamental SQL Using SELECT Statement

Anjar Desmiarti
9 min readNov 3, 2020

--

Hello my friends! Welcome to my Medium! Introduce me Anjar Desmiarti. On this occasion, my post is in the form of “Data Analyst Career Track Series” from DQLAB about “Fundamental SQL Using SELECT Statement”. Mentor data on this topic is Trisna Yulia Junita a Data Scientist in PT. BUMA

1. Apa itu SQL?

SQL yang merupakan singkatan dari Structured Query Language, yaitu bahasa komputer standar yang digunakan untuk berinteraksi dengan suatu sistem database — atau lebih tepatnya sistem manajemen database relasional. Jadi, user dapat menambahkan, mengubah, mengupdate, mencari dan menghapus data dari suatu sistem database dengan menggunakan SQL. SQL dilafalkan dengan membaca tiap karakternya S Q L (es kiu el) atau sikuel.

Terdapat dua kategori dari interaksi SQL:

  • Data Definition Language (DDL), yaitu berbagai perintah yang berfungsi lebih kepada memanipulasi struktur database, seperti Membuat (CREATE), meubah (ALTER), dan menghapus (DROP) struktur penyimpanan data, yaitu database, table, kolom dan tipe data.
  • Data Manipulation Language (DML), yaitu berbagai perintah yang digunakan untuk Menyisipkan data (INSERT), Mengambil data atau query (SELECT), Meubah data (UPDATE) dan Menghapus data (DELETE).

Dimana saja SQL Digunakan?

Perusahaan — perusahaan yang sudah menerapkan sistem IT pasti memiliki sistem database dan bisa dipastikan menyimpan datanya dalam suatu database. Sistem database biasanya tidak hanya satu, bisa dua, tiga bahkan puluhan. Oleh karena itu, SQL sangat berperan disini, karena dengan menggunakan SQL dapat memenuhi kebutuhan manajemen tersebut. Tanpa penguasaan SQL akan kesulitan memperoleh data yang dibutuhkan, dan akan kesulitan dalam melakukan analisa dan menghasilkan informasi yang dibutuhkan manajemen dan perusahaan. Akan tetapi, perlu diketahui bahwa tidak semua sistem database mendukung SQL. Hanya sistem database berbasis relational database management system (RDBMS) yang mendukung bahasa ini.

2. Apa itu RDBMS?

Relational Database Management System yang biasa disingkat dengan RDMBS adalah suatu program yang memungkinkan untuk Membuat, Memperbarui, dan Mengelola suatu basis data relasional (Relational Database). Nah, Umumnya RDMBS ini menggunakan SQL untuk mengakses database. Basis data relasional sendiri merupakan suatu jenis database dimana data — data umumnya disimpan dalam bentuk yang terstruktur berupa tabel (baris dan kolom) dan setiap tabel/ data yang terdapat dalam database memiliki relasi (relational) satu sama lain. Seperti terlihat pada gambar berikut

Basis data relasional sangat popular dan banyak digunakan oleh perusahaan-perusahaan karena jenis database ini mudah dikelola terlebih jika memiliki banyak data atau informasi yang perlu disimpan, scalable dan flexibel.

  • Basis data rasional cukup mudah dikelola. Setiap tabel/data dapat diupdate atau dimodifikasi tanpa mengganggu tabel/data yang lain.
  • Flexible : jika perlu memperbarui data, hanya perlu melakukannya sekali saja — jadi tidak perlu lagi mengubah banyak file satu per satu. Selain itu, basis data rasional juga cukup mudah untuk di-extend. Misalnya saat data sudah semakin banyak, dapat dengan mudah memperbesar kapasitas dari database yang dimiliki.

Produk-produk RDBMS di Pasaran

Selain MySQL, masih ada produk lain RDBMS, baik yang berbayar (proprietary) maupun open source. Berikut adalah sebagian produk yang cukup populer di pasaran :

  1. MySQL
    Open-source SQL database yang cukup populer. Umumnya digunakan untuk pengembangan aplikasi web.
  2. PostgreSQL
    Open-source RDBMS product, dan juga umumnya digunakan untuk pengembangan aplikasi web. Akan tetapi secara kinerja, postgreSQL lebih lambat dibandingkan MySQL.
  3. Oracle DB
    Produk RDBMS yang dimiliki oleh Oracle Corporation dan produk ini bersifat proprietary atau tidak open source. Oracle DB umumnya digunakan di industri perbankan.
  4. Microsoft SQL Server
    SQL Server adalah produk RDBMS yang dimiliki oleh Microsoft dan sama seperti Oracle DB, SQL Server bersifat proprietary atau tidak open source, SQL Server umumnya digunakan di perusahaan skala besar yang juga menggunakan produk keluaran Microsoft lainnya.
  5. SQLite
    Open source RDBMS, umumnya digunakan sebagai database di handphone, MP3 player, and perangkat lainnya.

Selain itu, juga ada MariaDB yang juga gratis atau open source, IBM DB2, Microsoft Access, dan masih banyak lainnya. Umumnya RDBMS menggunakan SQL untuk mengakses database dan produk RDBMS tidak hanya satu macam saja tetapi ada berbagai macam produk, maka SQL syntax pun bisa jadi sedikit berbeda untuk setiap produk tersebut.

Struktur Penyimpanan RDBMS

Sebagai penyimpan data, sistem database relasional memiliki struktur hirarki objek penyimpanan sebagai berikut:

  • Database
  • Tabel (table)
  • Kolom (column) atau Field

Dari sini belajar informasi menarik yaitu setiap database bisa berisi beberapa tabel, dan setiap tabel bisa terdiri dari beberapa kolom. Di setiap database, tabel dan kolom memiliki nama sendiri sebagai identitas mereka. Tabel dan kolom inilah yang akan diisi data yang kemudian membentuk row (baris data).

3. Praktik Penggunaan SQL

Gambar berikut adalah contoh suatu Tabel dalam database. Karena setiap tabel dalam database memiliki nama, maka, nama tabel ini adalah ms_produk.

Jika aku perhatikan, struktur tabel ms_produk terdiri dari empat kolom (column), masing-masing dengan nama berikut:

  • no_urut
  • kode_produk
  • nama_produk
  • harga

SELECT… FROM…

SELECT… FROM… adalah statement paling sederhana di SQL, dan merupakan bagian utama dari query. Kita tidak bisa meng-query data tanpa menggunakan statement ini

  • Kata awal, yaitu SELECT digunakan untuk menginformasikan kepada sistem bahwa kita ingin mengambil data.
  • Tanda * (bintang) artinya seluruh kolom perlu diambil dari tabel yang dirujuk. Tanda ini sering juga disebut sebagai wildcard.
  • FROM [NAMA_TABLE], artinya table yang akan diambil datanya.
  • Tanda ; (titik koma) adalah tanda yang menyatakan akhir dari perintah SELECT atau SQL lain.
SELECT * FROM ms_produk;

Output

Kita coba ya dengan menampilkan data pelanggan yang ada di database. Kita sudah menggunakan perintah SELECT sebelumnya untuk mengambil seluruh kolom. Nah, berikut adalah contoh query untuk mengambil satu kolom saja yaitu nama_produk

SELECT nama_produk FROM ms_produk;

Output

Untuk mengambil lebih dari satu kolom dapat memisahkannya dengan menggunakan comma(,).

SELECT nama_produk, harga FROM ms_produk;

Output

Selain pembatasan kolom, bisa membatasi jumlah baris data yang diambil. Untuk MySQL dan PostgreSQL, aku dapat menggunakan LIMIT. Secara umum syntaxnya dinyatakan sebagai berikut

SELECT nama_produk, harga FROM ms_produk LIMIT 5;

Untuk menghilangkan data duplikasi, dapat menggunakan SELECT DISTINCT statement. Dengan SELECT DISTINCT, data yang sama atau duplikat akan dieliminasi dan akan ditampilkan data yang unik saja.

Berikut syntax-nya:

Data ms_pelanggan
SELECT DISTINCT nama_customer, alamat FROM ms_pelanggan;

Output :

Untuk menghilangkan data duplikasi, aku bisa menggunakan SELECT DISTINCT statement. Dengan SELECT DISTINCT, data yang sama atau duplikat akan dieliminasi dan akan ditampilkan data yang unik saja.

Prefix dan Alias

  • Prefix, dimana kita akan menambahkan nama tabel di depan nama kolom.
  • Alias, dimana kita memberikan alias atau nama lain untuk tabel maupun kolom.

Pada dasarnya, penulisan nama kolom yang lengkap perlu mencantumkan nama tabel di depan nama kolom tersebut, dengan tanda penyambung berupa tanda titik. Umumnya, jika kita hanya mengambil kolom dari satu tabel, prefix ini jarang digunakan karena sudah jelas dari tabel mana kolom itu berasal. Tetapi ketika kita mengambil data dari dua tabel, misalnya dengan menggabungkan 2 tabel menggunakan JOIN, dan terdapat 2 kolom dengan nama yang sama, maka penggunaan prefix menjadi penting untuk menghindari error karena ambiguitas

Penggunaan nama lengkap prefix ini akan sangat berguna ketika ingin mengidentifikasi data dari beberapa tabel, yang akan dipelajari pada course SQL untuk topik JOIN.

SELECT ms_produk.kode_produk FROM ms_produk;

Output:

Selain prefix, aku dapat merubah identitas nama kolom yang diambil dengan SELECT dengan menggunakan keyword AS. Ini dinamakan alias. Perubahan nama tabel bersifat temporary, artinya hanya berubah ketika mengambil/meng-query data, sedangkan nama kolom di tabel dalam database tidak akan berubah.

SELECT no_urut AS nomor, nama_produk AS nama FROM ms_produk;

Output:

Prefix dan alias juga dapat digunakan secara bersamaan.

SELECT ms_produk.harga AS harga_jual FROM ms_produk;

Keyword AS(alias) dapat dihilangkan dan penulisan dapat sebagai berikut.

SELECT * FROM ms_produk t1;

Kalau kita menggunakan alias tabel, maka nama prefix yang digunakan untuk kolom adalah alias tabel dan bukan nama original tabel, seperti yang ditunjukkan berikut ini

Penggunaan nama original tabel sebagai prefix akan menimbulkan error saat query dijalankan karena dengan penggunaan alias, nama tabel secara temporary sudah di-gantikan oleh alias.

SELECT t2.nama_produk, t2.harga FROM ms_produk t2;

Output :

Menggunakan WHERE

Klausul WHERE dari SELECT digunakan untuk:

  • Filter data dengan kondisi teks tertentu.
  • Filter data dengan nilai angka tertentu.
  • Filter data dengan dua kondisi menggunakan operator AND dan OR.

Untuk syntax lengkapnya adalah sebagai berikut.

SELECT * FROM ms_produk WHERE nama_produk = ‘Tas Travel Organizer DQLab’;

Output:

Menggunakan Operand OR

Filter teks sederhana untuk mengeluarkan data masing-masing dengan nama_produk ‘Gantungan Kunci DQLab’ dan ‘Tas Travel Organizer DQLab’. Pertanyaannya, bagaimana jika ingin mengeluarkan keduanya sekaligus? bisa menggunakan Operand OR. Jadi, untuk menyelesaikan problem yaitu memunculkan data dengan kondisi kolom nama_produk bernilai ‘Gantungan Kunci DQLab’ ATAU ‘Tas Travel Organizer DQLab’ ATAU ‘Flashdisk DQLab 64 GB’, dapat menggunakan syntax berikut:

SELECT * FROM ms_produk WHERE nama_produk = ‘Gantungan Kunci DQLab’ OR nama_produk = ‘Tas Travel Organizer DQLab’ OR nama_produk = ‘Flashdisk DQLab 64 GB’;

Output :

Sebelumnya, telah melakukan filtering untuk teks, namun WHERE tidak terbatas untuk tipe data teks saja tapi malah umumnya untuk angka.

SELECT * FROM ms_produk WHERE harga > 50000;

Output:

Menggunakan Operand AND

Jika sebelumnya aku mempelajari Operand OR, aku juga bisa menggunakan operand AND agar dua atau lebih kondisi terpenuhi semuanya. Jika salah satu kondisi tidak terpenuhi, data tidak akan diambil. Secara umum syntaxnya diilustrasikan berikut ini

SELECT* FROM ms_produk WHERE nama_produk = 'Gantungan Kunci DQLab' AND harga < 50000;

Output :

The main points of this session:

SQL singkatan dari Structured Query Language, adalah sebuah Bahasa komputer sederhana yang menjadi standar untuk memungkinkan seseorang berkomunikasi dengan suatu sistem database manajemen relasional (RDBMS).

1. Sistem relasional database atau relational database management system (RDBMS) adalah sistem database paling populer di dunia saat ini dan menggunakan bahasa SQL untuk pengolahannya.

2. Beberapa produk RDBMS yang terkenal antara lain adalah Microsoft SQL Server, Oracle, MySQL, PostgreSQL, IBM DB2, dan masih banyak lainnya.

3. Struktur penyimpanan data di RDBMS menggunakan hirarki: Database, Tabel (Table), Kolom (Column)

4. Perintah SELECT dapat digunakan untuk menentukan apa saja kolom yang akan diambil dengan menuliskan nama-nama kolom yang diinginkan menggunakan pemisah tanda koma.

5. Perintah SELECT juga dapat digunakan untuk membatasi jumlah data yang dikeluarkan. Namun untuk berbagai produk bisa berbeda penulisannya. MySQL menggunakan LIMIT untuk tujuan tersebut.

6. Perintah SELECT DISTINCT dapat digunakan untuk menghilangkan duplikasi baris dalam tabel dan hanya menampilkan baris data yang unik tanpa duplikasi.

7. Perintah SELECT dapat ditulis dengan variasi identitas kolom dan tabel berupa prefix dan alias.

8. Penulisan lengkap untuk nama kolom adalah prefix berupa nama tabel disertai tanda titik sebelum nama kolom itu sendiri.

9. Alias adalah nama lain yang diberikan untuk kolom maupun tabel. Alias dapat digunakan dengan keyword AS atau tanpa keyword AS setelah nama kolom dan tabel. Prefix nama tabel bisa menggunakan alias.

10. Filter di SQL diimplementasikan dengan menggunakan WHERE diikuti dengan satu atau lebih kondisi logis.

11. Kondisi logis ini memiliki format nama kolom diikuti dengan nilai yang akan difilter. Untuk teks sederhana bisa menggunakan tanda sama dengan, sedangkan untuk nilai angka bisa menggunakan operator perbandingan matematika.

12. Menggunakan operand OR dan AND untuk menggabungkan beberapa kondisi menjadi satu kondisi baru yang harus terpenuhi untuk pengambilan data.

Thank you (❁´◡`❁)

--

--

Anjar Desmiarti
Anjar Desmiarti

No responses yet