MySQL - Data Retrieval Language (DRL)
DRL atau DSL (Data Selection Language) adalah set perintah yang dgunakan untuk mengambil data dari server basis data. DRL terdiri dari klausa yang dapat dikembangkan lebih lanjut, antara lain:
FROM
: Memilih nama sebuah tabelWHERE
: Menunjukkan secara spesifik suatu row/baris yang akan dicariGROUP BY
: Menyusung data ke dalam grupHAVING
: Memilih diantara kelompok-kelompok data yang didefinisikan klausa GROUP BYORDER BY
: Secara spesifik digunakan untuk menentukan suatu baris pada kolom tertentuAS
: Memberikan nama alias sementara untuk tabel atau kolom
DRL lebih diterapkan dalam beberapa hal dalam beberapa hal seperti :
QUERY
SUB-QUERY
FUNGSI AGREGASI
Query
Query merupakan operasi yang melibatkan satu atau lebih tabel untuk melakukan retrival data. Pengambilan data dilakukan dengan beberapa klausa berikut :
SELECT *
untuk memilih semua kolom FormatSELECT
denganWHERE
untuk menampilkan baris dengan suatu kondisiFormat
SELECT
denganDISTINCT
untuk menampilkan data dengan eliminasi data yang sama (duplicate)Format
SELECT
denganIN
untuk menampilkan data yang spesifikFormat
SELECT
denganBETWEEN
untuk menampilkan data pada jarak (range) tertentuFormat
SELECT
denganLIKE
untuk menampilkan data yang memiliki kemiripan dengan keyword yang diinginkanFormat
SELECT
denganGROUP BY
untuk menampilkan susunan data dalam bentuk grupFormat
SELECT
denganORDER BY
untuk menampilkan baris secara spesifik dan terurut maju atau mundurFormat
SELECT
denganAND, OR and NOT
untuk menampilkan data dengan kondisi dan atau atau tidakFormat
AND
OR
NOT
SELECT
denganUNION, INTERSECT dan EXCEPT
untuk menampikan data dengan operasi himpunan yang melibatkan lebih dari satu tabelFormat
UNION
Tanpa duplikasi
Dengan duplikasi
INTERSECT
Tanpa duplikasiDengan duplikasi
EXCEPT
Tanpa duplikasiDengan duplikasi
Sub Query
Sub-query adalah adanya query di dalam query lain. Sub-query juga disebut dengan perintah SELECT
bersarang (nested SELECT). Retrival data dalam sub-query dilakukan oleh SELECT
untuk menemukan data pada SELECT
utama. Klausa GROUP BY
dan HAVING
juga dapat digunakan untuk retrival data pasa sub-query. Sub-query biasanya digunakan untuk test keanggotaan himpunan atau perbandingan himpunan dan kardinalitas. Format Untuk test keanggotaan
atau
Untuk perbandingan himpunan
Fungsi Agregasi
Fungsi agregasi akan melakukan perhitungan kepada sekumpulan nilai dan menghasilkan suatu nilai tunggal.
Jenis:
AVG
untuk menghitung rata-rata FormatMAX
untuk mencari nilai tertinggi FormatMIN
untuk mencari nilai terendah FormatSUM
untuk menjumlahkan sekumpulan nilai FormatCOUNT()
untuk menunjukkan jumlah baris pada kolom yang diinginkan Format
Praktikum – Bagian 1: Membuat Database untuk Percobaan
Studi kasus yang digunakan sama dengan jobsheet DML dengan skema/model relasional/EER diagram dari database berikut.
Skema tersebut adalah skema database pada sebuah sistem informasi yang digunakan oleh suatu perusahaan yang bergerak di bidang pembuatan perangkat lunak. Sesuai dengan percobaan pada jobsheet DML. Insert kembali departemen yang mengandung nama ‘dan’, dengan cara menyalin dari tabel departemen_backup, sehingga menghasilkan record keseluruhan tabel sebagai berikut (record tidak harus sama persis dengan tampilan ini):
SELECT * FROM departemen;
SELECT * FROM karyawan;
SELECT * FROM klien;
SELECT * FROM proyek;
SELECT * FROM penugasan;
Setelah selesai membuat database diatas, lanjutkan ke Praktikum – Bagian 2.
Praktikum – Bagian 2: Percobaan SELECT QUERY
Untuk menampilkan baris dengan suatu kondisi tertentu, digunakan statement SELECT dengan WHERE. Eksekusi SQL berikut untuk menampilkan (record) pada tabel karyawan yang memiliki kolom departemen_kode=’MKT’.
Untuk menampilkan data dengan eliminasi data yang sama (duplicate), digunakan statement SELECT dengan DISTINCT. Eksekusi SQL berikut untuk menampilkan kolom total_jam dari tabel penugasan yang bernilai tidak sama.
Untuk menampilkan data yang spesifik digunakan statement SELECT dengan IN. Eksekusi SQL berikut untuk menampilkan kolom nim dan nik dari tabel karyawan yang memiliki gaji 3100000 atau 6900000.
Untuk menampilkan data pada jarak (range) tertentu digunakan statement SELECT dengan BETWEEN. Eksekusi SQL berikut untuk menampilkan kolom nik dan nama dari tabel karyawan yang memiliki gaji diantara 2000000 dan 4000000.
Untuk menampilkan data yang memiliki kemiripan dengan keyword yang diinginkan digunakan SELECT dengan LIKE. Eksekusi SQL berikut untuk menampilkan kolom nama, alamat, dan jenis pada tabel klien yang memiliki nama dengan huruf awal ‘a’.
SELECT nama, alamat, jenis FROM klien WHERE nama like 'a%';
Untuk menampilkan susunan data dalam bentuk grup, digunakan SELECT dengan GROUP BY. Eksekusi SQL berikut untuk menampilkan kolom nik, nama, gaji, dan departemen_kode pada tabel karyawan yang dikelompokkan berdasarkan gaji.
Untuk menampilkan baris secara spesifik dan terurut maju atau mundur, digunakan SELECT dengan ORDER BY. Eksekusi SQL berikut untuk menampilkan kolom nama dan tanggal_mulai pada tabel proyek dari tanggal yang paling lama hingga baru.
Untuk menampilkan data dengan kondisi dan atau atau tidak, digunakan SELECT dengan AND, OR and NOT. Eksekusi SQL berikut untuk menampilkan semua kolom pada tabel karyawan dengan jenis kelamin ‘WANITA’ dan gaji < 5000000.
Untuk menampilkan data dari kolom yang terlibat dalam dua tabel dapat digunakan SELECT dengan UNION. UNION secara otomatis akan menghilangkan duplikasi. Eksekusi SQL berikut untuk menampilkan kolom nik yang yang ada di tabel penugasan atau departemen.
Untuk menampilkan data dari kolom yang terlibat dalam dua tabel dapat digunakan SELECT dengan UNION ALL. UNION ALL juga akan menampilkan duplikasi data. Eksekusi SQL berikut untuk menampilkan kolom nik yang yang ada di tabel penugasan atau departemen.
Setelah berhasil mengeksekusi SQL tersebut, lanjutkan ke Praktikum - Bagian 3.
Praktikum - Bagian 3: Percobaan SELECT Sub-Query
Untuk menampilkan data (test keanggotaan sub-query) yang berasal dari pemilihan tampilan data lain digunakan tambahan statement IN. Eksekusi SQL berikut untuk menampilkan kolom nomor_proyek, nik, total_jam pada tabel penugasan dimana total_jam adalah total_jam yang paling lama pada tabel penugasan.
Untuk menampilkan data (perbandingan himpunan sub-query) yang berasal dari pemilihan tampilan data lain digunakan tambahan operator. Eksekusi SQL berikut untuk menampilkan kolom nomor_proyek, nik, total_jam pada tabel penugasan berdasarkan semua record kolom total_jam harus bernilai kurang dari total_jam yang dimiliki oleh nomor proyek 1 dari tabel penugasan.
Setelah berhasil mengeksekusi SQL tersebut, lanjutkan ke Praktikum - Bagian 4.
Praktikum - Bagian 4: Percobaan FUNGSI AGREGASI
Untuk menghitung rata-rata, digunakan tambahan statement AVG. Eksekusi SQL berikut untuk menampilkan rata-rata gaji sesuai kolom gaji dari tabel karyawan.
SELECT AVG(gaji) FROM karyawan;
Untuk menghitung nilai tertinggi, digunakan tambahan statement MAX. Eksekusi SQL berikut untuk menampilkan gaji tertinggi sesuai kolom gaji dari tabel karyawan.
SELECT MAX(gaji) FROM karyawan;
Untuk menghitung nilai terendah, digunakan tambahan statement MIN. Eksekusi SQL berikut untuk menampilkan gaji terendah sesuai kolom gaji dari tabel karyawan.
SELECT MIN(gaji) FROM karyawan;
Untuk menghitung total gaji keseluruhan digunakan tambahan statement SUM. Eksekusi SQL berikut untuk menampilkan total gaji sesuai kolom gaji dari tabel karyawan.
SELECT SUM(gaji) FROM karyawan
Untuk menunjukkan jumlah baris pada kolom yang diinginkan digunakan COUNT(). Eksekusi SQL berikut untuk menampilkan jumlah baris pada kolom dari tabel karyawan.
SELECT COUNT(gaji) FROM karyawan;
Last updated
Was this helpful?