Anda di halaman 1dari 3

FT UNP Padang Lembaran : Job Sheet

Jurusan : Teknik Elektronika Mata Kuliah : Sistem Basis Data


Waktu : 3 x 50 Menit Topik : MySQL
Kode : TIK 190 Judul : Data Manipulation Language (DML)

A. TUJUAN
Mahasiswa mampu memanipulasi data dalam database dengan lebih luas lagi.
A. ALAT DAN BAHAN
1. Personal komputer.
2. Aplikasi MySQL.
C. TEORI SINGKAT

Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam suatu tabel, yang mana
dalam pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan
berpengaruh hingga saat pemrograman di stored procedures dan triggers. Selain perintah-perintah
SELECT yang telah dibahas sebelumnya, masih ada banyak perintah-perintah SELECT lain yang lebih luas
lagi dalam penggunaannya.

D. LANGKAH KERJA

1. Menghitung usia berdasarkan tahun lahir dan tahun sekarang


mysql> select nama, tgl_lahir, current_date AS Sekarang,
(year(current_date) - year(tgl_lahir))-(right(current_date,5) <
right(tgl_lahir,5)) AS Usia from karyawan;

dengan syarat, field tanggal_lahir bertype date !

+----------+------------+------------+------+
| nama | tgl_lahir | Sekarang | Usia |
+----------+------------+------------+------+
| Yuliwati | 1982-06-09 | 2016-09-29 | 34 |
| Mawar | 1985-08-30 | 2016-09-29 | 31 |
+----------+------------+------------+------+
2. Menampilkan nama mahasiswa yang memiliki abjad {a s/d h}

mysql> select *from mahasiswa where nama REGEXP "^[a-h]";

+-------+-----------------+------+--------------+-----+---------+-------+
| nim | nama_mahasiswa | JK | tempat_lahir | tgl | bulan | tahun |
+-------+-----------------+------+--------------+-----+---------+-------+
| 13223 | Fitria Chandra | Pr | Maninjau | 14 | Oktober | 1982 |
| 13224 | Fitri Kurnia | Pr | Bukittinggi | 18 | Maret | 1980 |
+-------+-----------------+------+--------------+-----+---------+-------+

3. Menampilkan nama mahasiswa yang terdiri dari 15 karakter.


mysql> select *from mahasiswa where nama_depan REGEXP"^.{15}$";

4. Operator ANY
Operator ANY berkaitan dengan subquery. Operator ini menghasilkan TRUE jika paling tidak salah
satu perbandingan dengan hasil subquery menghasilkan nilai TRUE.
Ilustrasinya : Gaji > ANY (S)

1
FT UNP Padang Lembaran : Job Sheet
Jurusan : Teknik Elektronika Mata Kuliah : Sistem Basis Data
Waktu : 3 x 50 Menit Topik : MySQL
Kode : TIK 190 Judul : Data Manipulation Language (DML)

Jika subquery S menghasilkan G1, G2, ..., Gn, maka kondisi di atas identik dengan:
(gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn)
Misalkan perintah untuk menampilkan semua data SKS yang jumlahnya bukan yang terbesar :
mysql> select *from matakuliah where sks<any(select sks from matakuliah);
+-----------------+------------------+------+
| kode_matakuliah | nama_matakuliah | sks |
+-----------------+------------------+------+
| TIK115 | Dasar Algoritma | 2 |
| TIK119 | Struktur Data | 2 |
| UNP107 | Bahasa Indonesia | 2 |
+-----------------+------------------+------+
5. INTERSECT
Merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data
yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama
dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
Sintaks:
SELECT * FROM namatabel1
INTERSECT
SELECT * FROM namatabel2
Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan
operator IN yang bisa diperdalam di bagian Nested Queries.
Contoh :
Tabel Matakuliah
+-----------------+-------------------+------+
| kode_matakuliah | nama_matakuliah | sks |
+-----------------+-------------------+------+
| TIK115 | Dasar Algoritma | 2 |
| TIK117 | Sistem Basis Data | 3 |
| TIK119 | Struktur Data | 2 |
| UNP107 | Bahasa Indonesia | 2 |
+-----------------+-------------------+------+
4 rows in set (0.00 sec)

mysql> select matakuliah.kode_matakuliah from matakuliah where


matakuliah.kode_matakuliah in (select kuliah.kode_matakuliah from
kuliah);
+-----------------+
| kode_matakuliah |
+-----------------+
| TIK115 |
| TIK117 |
| TIK119 |
+-----------------+
3 rows in set (0.00 sec)

6. EXCEPT
Merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data
yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil

2
FT UNP Padang Lembaran : Job Sheet
Jurusan : Teknik Elektronika Mata Kuliah : Sistem Basis Data
Waktu : 3 x 50 Menit Topik : MySQL
Kode : TIK 190 Judul : Data Manipulation Language (DML)

query 2 dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama.
Sintaks :
SELECT * FROM namatabel1
EXCEPT
SELECT * FROM namatabel2
Pada MySQL t idak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan
operator NOT IN yang bisa diperdalam di bagian Nested Queries.
Contoh :
Tabel Dosen
+------------+------------+-------------+
| kode_dosen | nama_dosen | prodi |
+------------+------------+-------------+
| 5328 | Dagadul | Informatika |
| 5334 | Thamrin | Elektronika |
| 5335 | Fairuz | Elektronika |
| 5336 | Budiman | Informatika |
+------------+------------+-------------+
mysql> select dosen.kode_dosen from dosen where dosen.kode_dosen not in
(select kuliah.kode_dosen from kuliah);
+------------+
| kode_dosen |
+------------+
| 5336 |
+------------+
1 row in set (0.00 sec)

E. EVALUASI

1. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua tabel dan tiga tabel dengan
menggunakan (masing-masing) perintah JOIN.
2. Buatlah perintah SQL yang menggunakan IN dan NOT IN.
3. Buatlah perintah SQL yang menggunakan operator comparison ANY.

0ooo0

Anda mungkin juga menyukai