0% menganggap dokumen ini bermanfaat (0 suara)
59 tayangan

Modul V DQL

Modul ini membahas tentang dasar query SELECT untuk mengambil data dari tabel database. Terdapat penjelasan mengenai cara mengambil data secara keseluruhan, sebagian kolom, menggunakan kriteria tertentu, data top-N, data unik, dan data terurut. Modul ini juga memberikan contoh-contoh query SELECT beserta latihan soal.

Diunggah oleh

Ramadhani I K
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
59 tayangan

Modul V DQL

Modul ini membahas tentang dasar query SELECT untuk mengambil data dari tabel database. Terdapat penjelasan mengenai cara mengambil data secara keseluruhan, sebagian kolom, menggunakan kriteria tertentu, data top-N, data unik, dan data terurut. Modul ini juga memberikan contoh-contoh query SELECT beserta latihan soal.

Diunggah oleh

Ramadhani I K
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 4

Modul 5 : Dasar Query Select

5.1 Waktu Pelaksanaan Praktikum


Durasi kegiatan praktikum = 170 menit, dengan rincian sebagai berikut (misalkan):
a. 10 menit untuk penjelasan singkat tentang modul
b. 100 menit untuk pengayaan
c. 60 menit pembahasan

5.2 Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami operasi SELECT
2. Mengambil data dari suatu tabel
3. Mengambil data dengan kriteria tertentu dan/atau secara terurut

5.3 Alat & Bahan


1. Komputer

5.4 Dasar Teori


SQL Select
Sintaksis query SQL untuk mengambil data (tuple/record) menggunakan perintah SELECT. Sintaksis
SELECT dapat digunakan untuk melihat isi data dari satu atau banyak tabel dari query yang sederhana
hingga kompleks. Struktur sederhana sebuah query SELECT adalah sebagai berikut.

SELECT [nama_kolom] FROM [nama_tabel]

WHERE [kondisi]

[GROUP BY] [nama_kolom]

[ORDER BY] [nama_kolom]

5.5 Prosedur Praktikum


5.5.1 Mengambil Data dengan SELECT
Query untuk mengambil data menggunakan sintaksis SELECT, misalnya untuk mengambil seluruh data dari
seluruh data pada tabel instructor. Tanda * digunakan untuk mengambil data dari seluruh kolom.
SELECT * FROM instructor

Gambar 5.1 Contoh mengambil data keseluruhan isi table


Untuk mengambil data hanya dari sebagian/beberapa kolom dari tabel instructor, misalnya hanya dari
kolom name, dept_name maka gunakan sintaksis seperti berikut.

SELECT name, dept_name FROM instructor

Gambar 5.2 Contoh mengambil data dari sebagian kolom dari suatu table

5.5.2 Mengambil Data dengan SELECT-WHERE


Untuk mengambil data sesuai yang memenuhi kriteria-kriteria tertentu digunakan klausa WHERE. Sintaksis
klausa WHERE adalah sebagai berikut.

SELECT [nama_kolom]

FROM [nama_tabel]

WHERE [kriteria]

Pada sintaksis di atas kriteria bisa dapat berisi kondisi logika (=, != atau <>), relasional (>, >=, <, <=, =, ),
rentang dan himpunan bagian (BETWEEN, IN), atau pola pencarian (LIKE). Apabila ada dua atau lebih
kriteria dapat dikombinasikan dengan operator AND, OR, dan NOT.

Contoh untuk mencari instructor yang berasal dari program studi (department) ‘Statistic’ dan memiliki gaji
(salary) lebih dari 55.000 adalah sebagai berikut.

SELECT *

FROM instructor

WHERE dept_name = 'Statistics' AND salary > 55000

Gambar 5.3 Contoh mengambil data dengan klausa WHERE

5.5.3 Mengambil Data Top-N dengan TOP


Untuk mengambil data sebanyak N maka digunakan klausa TOP. Klausa TOP hanya berlaku di SQL Server
sedangkan untuk di DBMS yang lain sintaksisnya berbeda, misalnya di MySQL menggunakan LIMIT N, di
Oracle ROWNUM <= N, di DB2 FETCH FIRST N ROWS ONLY.
Contoh untuk mengambil data dari student sebanyak N (misalnya N sebanyak 10) adalah sebagai berikut.
SELECT TOP 10 *

FROM student

Gambar 5.4 Contoh mengambil data dengan klausa TOP N=10

Atau untuk mengambil data student sebanyak N persen adalah sebagai berikut
SELECT TOP 10 PERCENT *

FROM student

Pada contoh di atas maka akan dihasilkan record sebanyak 10 persen (200 record) dari tabel student yang
berisi total 2000 record.

5.5.4 Mengambil Data Unik dengan DISTINCT


Supaya query SQL SELECT tidak mengikutkan data yang sama dari beberapa record/tuple (hanya
data unik), maka digunakan klausa DISTINCT.
Misalnya saja pada tabel student ada 2.000 record student dan tiap student pasti memiliki program
studi (dept_name). Apabila kita mengambil data berdasarkan kolom dept_name saja dari table student,
maka akan didapatkan seluruh dept_name dari seluruh student (ada duplikasi data). Untuk tidak
mengikutkan dept_name yang memiliki duplikasi maka digunakan klausa DISTINCT seperti berikut.
SELECT dept_name
SELECT DISTINCT dept_name
FROM student
FROM student

(a) (b)
Gambar 5.5 (a) Contoh mengambil data tanpa klausa DISTINCT didapatkan 2000 record duplikasi. (b) Contoh
mengambil data dengan klausa DISTINCT didapatkan 20 record unik.

Pada contoh di atas query tanpa DISTINCT akan menghasilkan data 2.000 record dengan adanya duplikasi
(misalnya ‘Civil Eng.’ muncul beberapa kali karena masing-masing tuple adalah student dari ‘Civil Eng.’).
Pada query dengan DISTINCT maka dihasilkan hanya dept_name yang unik saja, sehingga didapatkan hanya
20 record (karena hanya ada 20 dept_name yang unik).
5.5.5 Mengambil Data Terurut dengan ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu, bisa satu atau
lebih kolom, dan secara menaik (ascending) atau menurun (descending). Sintaksis ORDER BY adalah sebagai
berikut.
SELECT [nama_kolom]

FROM [nama_tabel]

[WHERE [kriteria]]

ORDER BY [nama_kolom] [ASC|DESC]

Keyword ASC digunakan untuk mengurutkan secara menaik, DESC untuk menurun.

Contoh untuk mengambil data dari tabel student diurutkan berdasarkan kolom name secara menaik dan
dept_name secara menaik adalah sebagai berikut.
SELECT *

FROM student

ORDER BY name ASC, dept_name ASC

Gambar 5.6 (a) Contoh mengambil data secara terurut dengan ORDER BY.

5.6 Latihan
1. Ambil nama, nama program studi, total SKS diambil (tot_cred) semua data student yang memiliki total
SKS diambil (tot_cred) lebih dari 120.
2. Ambil semua data student yang memiliki total SKS diambil (tot_cred) lebih dari 80 hingga 100 (tanpa
menggunakan BETWEEN hanya dengan operator relasional).
3. Ambil semua data student yang memiliki total SKS diambil (tot_cred) lebih dari 80 hingga 100
menggunakan BETWEEN.
4. Ambil semua data student yang berasal dari program studi (dept_name) ‘Statistics’ dan total SKS
diambil kurang dari sama dengan 100.
5. Ambil semua data student yang memiliki total SKS diambil (tot_cred) lebih dari 120 dan urutkan secara
menaik berdasarkan kolom program studi (dept_name), secara menaik berdasarkan total SKS secara
menurun, dan secara menaik berdasarkan nama.

Anda mungkin juga menyukai