Menu Close

Category: Praktikum

SQL SELECT DISTINCT WHERE ORDER BY LIMIT OFFSET

Redundansi adalah salah satu konsep penting dalam basis data. Data yang "redundan" berarti sebuah data dengan makna yang sama disimpan berulang dalam basis data. Konsep redundansi ini penting untuk pencadangan data dan pemulihan (backup/ recovery) untuk mengantisipasi jika terjadi kegagalan/ kerusakan data.

Namun, duplikasi di dalam basis data dihindari karena mengakibatkan kerepotan dan kebingungan pada saat mengambil dan mengelolanya. Misalnya, jika NIK tersimpan di tabel "Profil" dan "Pengguna", maka perubahan nilai tersebut harus dilakukan di kedua tempat.

Penyaringan dan Pengurutan pada Query SQL

Meskipun basis data telah dirancang dengan baik, dimana setiap baris data dijamin unik, bisa jadi hasil query menampilkan data yang berulang. Sebagai contoh, dalam skenario kepemilikan kendaraan, satu kendaraan hanya dimiliki oleh satu orang, tetapi satu orang bisa memiliki lebih dari satu kendaraan. Dalam penyimpanannya, kombinasi identitas pemilik (NIK) dan nomor kendaraan (plat polisi) dapat digunakan sebagai PRIMARY KEY untuk memastikan setiap baris dalam tabel tetap unik.

Akan tetapi, ketika kita hanya ingin menampilkan daftar NIK pemilik kendaraan, hasil query bisa menunjukkan NIK yang berulang, yaitu untuk pemilik yang memiliki lebih dari satu kendaraan. Untuk menghindari duplikasi ini, SQL menyediakan kata kunci DISTINCT untuk mengeliminasi baris dengan nilai kolom yang sama.

Contoh Tabel: Kepemilikan Kendaraan

NIK Plat_Polisi Nama_Pemilik Jenis_Kendaraan
1234567890 B1234ABC Bejo Mobil
1234567890 B5678DEF Bejo Motor
9876543210 D1234XYZ Surti Mobil
9876543210 D5678UVW Surti Motor
1357913579 H9876JKL Amat Mobil
SELECT NIK
FROM KepemilikanKendaraan;
NIK
1234567890
1234567890
9876543210
9876543210
1357913579

Seperti yang terlihat, NIK Bejo dan Surti muncul dua kali karena mereka memiliki lebih dari satu kendaraan.

SELECT DISTINCT NIK
FROM KepemilikanKendaraan;
NIK
1234567890
9876543210
1357913579

Dengan menggunakan kata kunci DISTINCT, duplikasi NIK dihilangkan, sehingga setiap NIK hanya muncul sekali.

DISTINCT: Tampikan Baris yang Berbeda

Perintah SELECT DISTINCT akan menampilkan baris tanpa duplikasi. Sintaksnya sederhana:

SELECT DISTINCT kolom, kolom_lainnya
FROM nama_tabel
WHERE kondisi;

Selain menggunakan kata kunci DISTINCT untuk menghapus duplikasi secara otomatis, bisa juga menggunakan GROUP BY yang akan dipelajari pada sesi berikutnya.

ORDER BY: Urutkan Berdasarkan

Dalam menyusun berbagai jenis laporan, kebutuhan pengurutan data bisa berbeda-beda. Misalnya, tampilkan data kendaraan sesuai urutan nama pemilik, urut tahun beli, urut nomor kendaraan, dsb. SQL menyediakan cara untuk mengurutkan hasil berdasarkan kolom tertentu dengan menggunakan klausa ORDER BY.

SELECT kolom, kolom_lainnya
FROM nama_tabel
WHERE kondisi
ORDER BY kolom ASC/DESC;

Dengan perintah ini, hasil query akan diurutkan secara alfabetis atau numerik. Pengurutan bisa dilakukan secara meningkat naik (ASCending) atau turun (DEScending). ASC lebih mudah dihafalkan dengan ASZ (A Sampai Z, 0-9). Jika tidak dicantumkan, secara otomatis DBMS akan mengasumsikan pengurutan berdasarkan ASC.

LIMIT & OFFSET: Membatasi Jumlah dan Posisi Baris

Sebuat tabel dapat berisi ribuan bahkan jutaan baris. Klausa LIMIT dan OFFSET berguna untuk mengambil sebagian dari hasil query. Klausa LIMIT membatasi jumlah baris yang diambil dan OFFSET menunjukkan berapa baris pertama yang dilewati.

SELECT kolom, kolom_lainnya
FROM nama_tabel
WHERE kondisi
ORDER BY kolom ASC/DESC
LIMIT jumlah_baris OFFSET mulai_dari_baris;

Fitur ini paling sering digunakan pada kasus pagination atau pengelolaan daftar hasil query menjadi halaman. Sebagai contoh, situs media sosial menampilkan daftar foto yang diurutkan berdasarkan popularitas dan waktu. Setiap halaman diwakili oleh kumpulan baris yang diambil menggunakan perintah LIMIT dan OFFSET.

-- 10 baris saja
SELECT foto FROM catatan LIMIT 10;
-- lewati 10 baris pertama
SELECT foto FROM catatan LIMIT 10 OFFSET 10;
SELECT foto FROM catatan LIMIT 10 OFFSET 20;

Kapan LIMIT dan OFFSET dieksekusi dalam [[urutan pemrosesan perintah query]]? Umumnya, klausa ini dieksekusi paling akhir.

Latihan

id judul penulis tahun jenis
1 "Senja di Jakarta" "Mochammad Ali" 1963 "Sastra"
2 "Laskar Pelangi" "Andrea Hirata" 2005 "Fiksi"
3 "Bumi Manusia" "Pramoedya Ananta Toer" 1980 "Sastra"
4 "Negeri 5 Menara" "Ahmad Fuadi" 2009 "Inspirasi"
5 "Habibie & Ainun" "Bacharuddin Jusuf Habibie" 2010 "Biografi"
6 "Laskar Pelangi 2" "Andrea Hirata" 2007 "Fiksi"
7 "Anak Semua Bangsa" "Pramoedya Ananta Toer" 1981 "Sastra"
8 "Edensor" "Andrea Hirata" 2011 "Fiksi"
9 "Rumah Kaca" "Pramoedya Ananta Toer" 1985 "Sastra"
10 "Dilan 1990" "Pidi Baiq" 2014 "Fiksi"
  1. Tampilkan daftar penulis, urut abjad, tanpa duplikat.
  2. Tampilkan empat buku rilis terakhir, urutkan dari terkini hingga terlama.
  3. Tampilkan lima buku pertama urut abjad.
  4. Tampilkan lima buku berikutnya.

Pembahasan

1. Tampilkan daftar penulis, urut abjad, tanpa duplikat.

SELECT DISTINCT penulis
FROM Buku
ORDER BY penulis ASC;
penulis
"Ahmad Fuadi"
"Andrea Hirata"
"Bacharuddin Jusuf Habibie"
"Mochammad Ali"
"Pidi Baiq"
"Pramoedya Ananta Toer"

Penulis "Andrea Hirata" dan "Pramoedya Ananta Toer" muncul beberapa kali di tabel, namun dengan DISTINCT, kita menghilangkan duplikat.

2. Tampilkan empat buku rilis terakhir, urutkan dari terkini hingga terlama.

SELECT judul, tahun
FROM Buku
ORDER BY tahun DESC
LIMIT 4;
judul tahun
"Dilan 1990" 2014
"Edensor" 2011
"Habibie & Ainun" 2010
"Negeri 5 Menara" 2009

Ingat: ASC (ASZ: A sampai Z, 0 s.d. 9). Pengurutan berdasarkan rilis terkini hingga terlama berarti diurutkan dari tahun terbesar hingga terkecil.

3. Tampilkan lima buku pertama urut abjad.

SQL:

SELECT judul
FROM Buku
ORDER BY judul ASC
LIMIT 5;
judul
"Anak Semua Bangsa"
"Bumi Manusia"
"Dilan 1990"
"Edensor"
"Habibie & Ainun"

4. Tampilkan lima buku berikutnya.

SELECT judul
FROM Buku
ORDER BY judul ASC
LIMIT 5 OFFSET 5;
judul
"Laskar Pelangi"
"Laskar Pelangi 2"
"Negeri 5 Menara"
"Rumah Kaca"
"Senja di Jakarta"

Ingat: OFFSET x = lewati x baris.

SQL SELECT WHERE LIKE

Teks atau string adalah tipe data yang paling sering disimpan dalam basis data. Terdapat operator SQL khusus digunakan pada kolom yang bertipe teks. Operator ini bertujuan membantu dalam pencarian string, diantaranya adalah sebagai berikut:

  1. = (Sama Dengan)
    Operator = digunakan untuk membandingkan string, huruf besar atau kecil sangat berpengaruh. Jika ingin menemukan data yang benar-benar sama, gunakan tanda "=". Misalnya, menemukan buku yang judulnya "Laskar Pelangi":

    SELECT * FROM buku WHERE judul = "Laskar Pelangi";
    
  2. != atau <> (Tidak Sama Persis)
    Operator != atau <> digunakan untuk menemukan data yang tidak sesuai dengan kriteria tertentu. Misalnya, kita ingin mencari semua buku yang bukan ditulis oleh Andrea Hirata:

    SELECT * FROM buku WHERE penulis != "Andrea Hirata";
    
  3. LIKE (Perbandingan String Tak Sensitif Huruf Besar/Kecil)
    Operator LIKE digunakan untuk membandingkan string tanpa memperhatikan huruf besar atau kecil. Misalnya, untuk mencari buku dengan judul yang mengandung kata "Pelangi" tanpa memperhatikan apakah ditulis dengan huruf besar atau kecil:

    SELECT * FROM buku WHERE judul LIKE "laskar pelangi";
    
  4. NOT LIKE
    Kebalikan dari LIKE, NOT LIKE digunakan mencari data yang tidak sesuai dengan kriteria teks tertentu. Misalnya, mencari semua buku yang tidak mengandung kata "Menara", tidak peduli huruf besar/ kecil:

    SELECT * FROM buku WHERE judul NOT LIKE "negeri 5 menara";
    
  5. % (Wildcard untuk Sederet Karakter Apapun)
    Wildcard berarti karakter apapun. Penanda % sangat berguna dalam mengabaikan data yang mengandung sederet karakter apapun dalam string. Penanda ini hanya berlaku untuk operator LIKE. Misalnya, kita ingin menemukan semua buku yang judulnya mengandung huruf "M" di mana saja (diawali dan diakhiri sederet karakter apapun):

    SELECT * FROM buku WHERE judul LIKE "%M%";
    

Judul berikut akan menjadi bagian dari hasil query:

  • Bumi Manusia
  • Momentum
  • Hitam
  1. _ (Wildcard untuk Satu Karakter)
    Penanda _ dalam operator LIKE digunakan untuk mengabaikan satu karakter apapun string. Misalnya, mencari buku dengan judul dimana karakter ketiga boleh apapun.:

    SELECT * FROM buku WHERE judul LIKE "Bu_i%";
    

Judul berikut akan menjadi bagian dari hasil query:

  • Bumi Manusia
  • Budi
  1. IN (…) (String Ada dalam Daftar)
    Operator IN digunakan untuk mencari data yang sesuai dengan salah satu dari beberapa nilai dalam daftar. Misalnya, kita ingin menemukan buku yang ditulis oleh "Pramoedya Ananta Toer" atau "Andrea Hirata":

    SELECT * FROM buku WHERE penulis IN ("Pramoedya Ananta Toer", "Andrea Hirata");
    
  2. NOT IN (…) (String Tidak Ada di Daftar)
    Sebaliknya, jika ingin mencari data yang tidak ada dalam daftar nilai tertentu, gunakan NOT IN. Misalnya, mencari semua buku yang bukan ditulis oleh "Mochammad Ali atau "Ahmad Fuadi":

    SELECT * FROM buku WHERE penulis NOT IN ("Mochammad Ali", "Ahmad Fuadi");
    

Latihan:

id judul penulis tahun jenis
1 "Senja di Jakarta" "Mochammad Ali" 1963 "Sastra"
2 "Laskar Pelangi" "Andrea Hirata" 2005 "Fiksi"
3 "Bumi Manusia" "Pramoedya Ananta Toer" 1980 "Sastra"
4 "Negeri 5 Menara" "Ahmad Fuadi" 2009 "Inspirasi"
5 "Habibie & Ainun" "Bacharuddin Jusuf Habibie" 2010 "Biografi"
  1. Temukan Buku Berjudul "Laskar Pelangi"
  2. Temukan Buku yang Ditulis oleh "Pramoedya Ananta Toer"
  3. Tampilkan Buku dan Penulis yang Bukan Ditulis oleh "Pramoedya Ananta Toer"
  4. Temukan Buku dengan Judul yang Dimulai dengan "Negeri"
  5. Temukan Semua Buku dengan Judul yang Diakhiri oleh "Pelangi"

Pembahasan:

  1. Temukan Buku Berjudul "Laskar Pelangi"
SELECT * FROM buku 
WHERE judul = 'Laskar Pelangi';
id judul penulis tahun jenis
2 "Laskar Pelangi" "Andrea Hirata" 2005 "Fiksi"
  1. Temukan Buku yang Ditulis oleh "Pramoedya Ananta Toer"
SELECT * FROM buku 
WHERE penulis = 'Pramoedya Ananta Toer';
id judul penulis tahun jenis
3 "Bumi Manusia" "Pramoedya Ananta Toer" 1980 "Sastra"
  1. Tampilkan Buku dan Penulis yang Bukan Ditulis oleh "Pramoedya Ananta Toer"
SELECT judul, penulis FROM buku 
WHERE penulis != 'Pramoedya Ananta Toer';
judul penulis
"Senja di Jakarta" "Mochammad Ali"
"Laskar Pelangi" "Andrea Hirata"
"Negeri 5 Menara" "Ahmad Fuadi"
"Habibie & Ainun" "Bacharuddin Jusuf Habibie"
  1. Temukan Buku dengan Judul yang Dimulai dengan "Negeri"
SELECT * FROM buku 
WHERE judul LIKE 'Negeri%';
id judul penulis tahun jenis
4 "Negeri 5 Menara" "Ahmad Fuadi" 2009 "Inspirasi"
  1. Temukan Buku dengan Judul yang Diakhiri oleh "Pelangi"
SELECT * FROM buku 
WHERE judul LIKE '%Pelangi';
id judul penulis tahun jenis
2 "Laskar Pelangi" "Andrea Hirata" 2005 "Fiksi"

SQL SELECT WHERE

SQL Menyaring Baris berdasarkan Kondisi/ Batasan

SELECT digunakan untuk memilih kolom tertentu dari sebuah tabel. Namun, bagaimana jika tabel tersebut berisi ratusan juta baris data? Membaca seluruh baris akan sangat tidak efisien, bahkan mungkin mustahil. Baris tertentu disaring agar tidak ditampilkan dengan menggunakan klausa WHERE dalam query SQL. Klausa ini diterapkan ke setiap baris data dengan memeriksa nilai kolom tertentu, menentukan apakah baris tersebut harus dimasukkan dalam hasil atau tidak.

Contoh Query dengan Saringan WHERE

SELECT kolom, kolom_lain, …
FROM nama_tabel
WHERE kondisi
    AND/OR kondisi_lain
    AND/OR …;

Klausa yang lebih kompleks disusun dengan menggabungkan beberapa kata kunci logika AND atau OR (misalnya, tahun >= 2000 AND jenis = "Sastra"). Berikut ini adalah beberapa operator berguna yang dapat digunakan untuk data numerik (misalnya, bilangan bulat atau titik mengambang):

Operator Jenis Kondisi Contoh SQL
=, !=, <, <=, >, >= Operator numerik kolom != 5
BETWEEN … AND … Angka berada dalam rentang dua nilai kolom BETWEEN 3.3 AND 5.5
NOT BETWEEN … AND … Angka tidak berada dalam rentang kolom NOT BETWEEN 3 AND 5
IN (…) Angka ada dalam daftar kolom IN (3, 5, 7)
NOT IN (…) Angka tidak ada dalam daftar kolom NOT IN (3, 5, 7)

Dengan menuliskan klausa untuk membatasi hasil baris yang ditampilkan, query berjalan lebih cepat karena jumlah data yang tidak diperlukan menjadi berkurang.

SQL sebenarnya tidak mengharuskan penulisan kata kunci dalam huruf kapital. Namun, secara konvensi atau kesepakatan, penulisan kapital membantu memisahkan kata kunci SQL dari nama kolom dan tabel, membuat query lebih mudah dibaca.

Latihan:

  1. Temukan buku dengan kolom id bernilai 4
  2. Tampilkan buku terbitan tahun 2000 dan 2010
  3. Tampilkan buku yang BUKAN terbitan tahun 2000 dan 2010
  4. Temukan buku yang diterbitkan sebelum tahun 2010

Pembahasan:

  1. Temukan buku dengan kolom id bernilai 4
SELECT * FROM Buku WHERE id = 4;

Ekspektasi Hasil: Satu baris (id adalah primary key) yang menampilkan seluruh kolom dari buku dengan id 4.

primary key adalah satu set kolom yang nilainya unique, tidak mungkin sama pada baris lain; dan not null atau mandatory atau required yaitu harus ada nilainya)

id judul penulis tahun jenis
4 "Negeri 5 Menara" Ahmad Fuadi 2009 Inspirasi
  1. Tampilkan buku terbitan tahun 2000 dan 2010
SELECT * FROM Buku WHERE tahun BETWEEN 2000 AND 2010;

Ekspektasi Hasil: Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit antara 2000 dan 2010.

id judul penulis tahun jenis
2 "Laskar Pelangi" Andrea Hirata 2005 Fiksi
4 "Negeri 5 Menara" Ahmad Fuadi 2009 Inspirasi
5 "Habibie & Ainun" Bacharuddin Jusuf Habibie 2010 Biografi
  1. Tampilkan buku yang BUKAN terbitan tahun 2000 dan 2010
SELECT * FROM Buku WHERE tahun NOT IN (2000, 2010);

Ekspektasi Hasil: Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit tidak dalam daftar (2000, 2010).

id judul penulis tahun jenis
1 "Senja di Jakarta" Mochammad Ali 1963 Sastra
3 "Bumi Manusia" Pramoedya Ananta Toer 1980 Sastra
  1. Temukan buku yang diterbitkan sebelum tahun 2010
SELECT * FROM Buku WHERE tahun < 2010;

Ekspektasi Hasil: Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit sebelum (dan tidak termasuk) 2010.

Pengantar SQL – Bahasa untuk Menjelajahi Basisdata

SQL (Structured Query Language) adalah bahasa yang dirancang agar siapa saja, baik yang memiliki latar belakang teknis atau tidak, dapat mengakses, memanipulasi, dan mengubah data dari basis data relasional. Karena kesederhanaannya, SQL menjadi pondasi penyimpanan data yang aman dan dapat diandalkan untuk jutaan situs web dan aplikasi mobile di seluruh dunia.

Pernah dengar SQLite, MySQL, Postgres, Oracle, dan Microsoft SQL Server?

Semua sistem ini mendukung standar bahasa SQL yang umum, meski masing-masing punya fitur tambahan dan jenis penyimpanan yang berbeda. Namun, apa yang akan kita pelajari di sini adalah fondasi SQL yang berlaku secara umum.

Sebelum mempelajari ke sintaks SQL, perlu paham dulu apa itu basis data relasional.

Relasional diambil dari istilah matematika yaitu relation. Bayangkan kumpulan tabel dua dimensi, mirip dengan lembar kerja Excel. Setiap tabel memiliki kolom dengan nama tetap dan telah ditentukan sebelum mengisinya, mewakili atribut atau properti. Sedangkan baris berisikan data-data.

Istilah berikut memiliki arti yang sangat mendekati antar satu dengan yang lain.

  • Tabel ~ Relation ~ Objects ~ Sheets
  • Kolom ~ Attribute ~ Property ~ Field
  • Baris ~ Tuple ~ Instance ~ Record

Struktur basis data tanpa isinya disebut sebagai skema. Sedangkan isi dari table mencerminkan status dari informasi yang tersimpan, sehingga disebut state.

Sebagai contoh, bayangkan sebuah instansi mencatat kendaraan dinas yang digunakan oleh para pejabat. Di tabel Kendaraan Dinas, terdapat kolom-kolom seperti model kendaraan, jenis, jumlah roda, dan kapasitas mesin.

Id Merek/Model # Roda Kapasitas Mesin (CC) Jenis
1 Toyota Land Cruiser 4 4500 SUV
2 Mercedes-Benz S Class 4 3000 Sedan
3 Honda CR-V 4 2400 SUV
4 Yamaha NMAX 2 155 Motor
5 Lexus LS 500 4 3500 Sedan Mewah

Tabel ini hanya satu dari sekian banyak tabel yang terdapat dalam sebuah database. Di tabel lain, kita bisa mencatat informasi tentang "pejabat yang menggunakan kendaraan", "nomor polisi kendaraan", atau "status perawatan".

Apa Pentingnya Mempelajari SQL
Dengan SQL, Anda bisa menjawab berbagai pertanyaan penting tentang data. Misalnya, “Berapa banyak kendaraan dinas yang memiliki kapasitas mesin di atas 3000cc?” atau “Berapa model kendaraan dinas yang berasal dari merek Jepang?” Jawaban dari pertanyaan-pertanyaan ini dapat membantu kita dalam mengambil keputusan penting bagi perusahaan.

Praktikum ini akan dimulai dengan pengenalan berbagai bagian dari query SQL.
Kita akan belajar bagaimana menyusun query untuk mengambil data dari tabel yang sudah ada. Setelah itu, berlatih mengubah tabel (atau skema) dan bahkan membuat tabel baru dari nol. Setiap pelajaran diakhiri dengan latihan interaktif agar Anda bisa langsung mencoba dan bereksperimen dengan kode SQL.

Jika sudah familiar dengan SQL, Anda bisa langsung lompat ke bagian yang lebih lanjut, tapi sangat disarankan untuk tetap mengikuti pelajaran dari awal agar mendapatkan pemahaman yang lebih kuat.

SQL SELECT

Seperti berjalan di tengah pasar yang ramai dengan berbagai pilihan. Jangan borong semua; cukup pilih yang dibutuhkan. SELECT dalam SQL digunakan untuk mengambil data tertentu dari hamparan informasi yang luas dalam database.

Bayangkan sebuah perpustakaan digital berisi ribuan buku. Buku dengan judul tertentu atau karya penulis favorit dapat ditemukan dengan perintah SELECT.

Berikut sebuah tabel sederhana bernama Buku yang berisi koleksi buku perpustakaan:

id judul penulis tahun jenis
1 "Senja di Jakarta" "Mochammad Ali" 1963 "Sastra"
2 "Laskar Pelangi" "Andrea Hirata" 2005 "Fiksi"
3 "Bumi Manusia" "Pramoedya Ananta Toer" 1980 "Sastra"
4 "Negeri 5 Menara" "Ahmad Fuadi" 2009 "Inspirasi"
5 "Habibie & Ainun" "Bacharuddin Jusuf Habibie" 2010 "Biografi"

Latihan:

  1. Tampilkan semua informasi tentang setiap buku.
  2. Tampilkan judul dari setiap buku.
  3. Tampilkan judul dan penulis dari setiap buku.
  4. Hitung jumlah buku yang ada di perpustakaan.
  5. Temukan genre unik.

Pembahasan:

  1. Tampilkan semua informasi tentang setiap buku.
SELECT * FROM Buku;
id judul penulis tahun jenis
1 "Senja di Jakarta" "Mochammad Ali" 1963 "Sastra"
2 "Laskar Pelangi" "Andrea Hirata" 2005 "Fiksi"
3 "Bumi Manusia" "Pramoedya Ananta Toer" 1980 "Sastra"
4 "Negeri 5 Menara" "Ahmad Fuadi" 2009 "Inspirasi"
5 "Habibie & Ainun" "Bacharuddin Jusuf Habibie" 2010 "Biografi"
  1. Tampilkan judul dari setiap buku.
SELECT judul FROM Buku;
judul
"Senja di Jakarta"
"Laskar Pelangi"
"Bumi Manusia"
"Negeri 5 Menara"
"Habibie & Ainun"
  1. Tampilkan judul dan penulis dari setiap buku.
SELECT judul, penulis FROM Buku;
judul penulis
"Senja di Jakarta" "Mochammad Ali"
"Laskar Pelangi" "Andrea Hirata"
"Bumi Manusia" "Pramoedya Ananta Toer"
"Negeri 5 Menara" "Ahmad Fuadi"
"Habibie & Ainun" "Bacharuddin Jusuf Habibie"
  1. Hitung jumlah buku yang ada di perpustakaan.
SELECT COUNT(*) AS jumlah_buku FROM Buku;
jumlah_buku
5

Perintah SELECT dapat dikombinasikan dengan fungsi agregat seperti COUNT() untuk melakukan perhitungan.

Misalnya, jika Anda ingin mengetahui rata-rata tahun terbit buku-buku di perpustakaan:

SELECT AVG(tahun) AS rerata_tahun FROM Buku;
rerata_tahun
1993.4
  1. Temukan genre unik.
SELECT DISTINCT jenis FROM Buku;
jenis
"Sastra"
"Fiksi"
"Inspirasi"
"Biografi"

Kata kunci DISTINCT digunakan untuk membuang data yang duplikat, yaitu Sastra yang seharusnya tampil dua kali.