MySQL : Contoh soal dengan operator LIKE dan NOT LIKE
Berikut contoh soal MySQL fokus kepada penggunaan operator LIKE dan NOT LIKE. Semoga berguna
(1) Buatlah satu database dengan nama latihan :
(2) Buat tabel siswa sebagai berikut :
Lalu isi tabel siswa dengan data-data dibawah ini :
(3) Tampilkan nama, jenis, kelamin yang tgl.lahirnya pada tahun 1976 dan hobby-nya Drama :
(4) Tampilkan nama, golongan darah yang golongan darahnya B dan suka music atau tinju :
(5) Tampilkan nama, tinggi badan, berat badan yang tinggi badannya diatas 170 dan hobynya tinju serta berat badannya dibawah 80 :
(6) Tampilkan nama, golongan darah yang namanya diawali dengan huruf 'R' tetapi golongan darahnya bukan 'O' :
(7) Tampilkan nama, hobby yang hobbynya film atau bola
(8) Tampilkan nama, jenis kelamin yang jenis kelaminnya bukan W atau golongan darahnya bukan A
(8) Tampilkan nama, golongan darah yang tahun lahirnya = 1976 dan hobbynya bukan tinju
(9) Tampilkan nama, berat badan yang hobbynya bukan novel dan jenis kelaminnya bukan P
(10) Tampilkan nama, jenis kelamin, tanggal lahir yang namanya mengandung huruf 'oy' dan hobbynya film
(11) Tampilkan nama, hobby yang hobbynya bukan renang dan jenis kelaminnya bukan W
(12) Tampilkan nama, tanggal lahir, tinggi badan yang tinggi badannya diatas 170 dan tahun lahirnya bukan 1976
(13) Tampilkan nama, jenis_kelamin yang namanya mengandung huruf 'a' dan jenis kelaminnya bukan W
(1) Buatlah satu database dengan nama latihan :
mysql> CREATE DATABASE latihan;
mysql> use latihan
(2) Buat tabel siswa sebagai berikut :
CREATE TABLE `siswa` (
no int(3),
nama varchar(255),
jenis_kelamin varchar(1),
gol_darah varchar(2),
tgl_lahir date,
hobby varchar(255),
tinggi_badan int(3),
berat_badan int(3))
TYPE=MyISAM
ROW_FORMAT=DEFAULT;
Lalu isi tabel siswa dengan data-data dibawah ini :
mysql> INSERT INTO `siswa` VALUES (1,'Vebi Ria','W','B','1977-12-04','Renang, Music',173,80);
mysql> INSERT INTO `siswa` VALUES (2,'Sinto','W','AB','1980-10-23','Music, Baca Novel, Bola',177,67);
mysql> INSERT INTO `siswa` VALUES (3,'Roi Joy','P','O','1976-08-22','Film, Drama',167,56);
mysql> INSERT INTO `siswa` VALUES (4,'Lololo','P','O','1981-04-14','Voli, Film',160,65);
mysql> INSERT INTO `siswa` VALUES (5,'Veti Vera','W','B','1981-11-19','Pecinta Alam, Renang',155,60);
mysql> INSERT INTO `siswa` VALUES (6,'Beny','P','A','1981-07-28','Bola, Tinju, Game, Film',160,60);
mysql> INSERT INTO `siswa` VALUES (7,'Roy Nola','P','B','1975-02-09','Drama, Tinju',173,45);
mysql> INSERT INTO `siswa` VALUES (8,'Yosafat','P','AB','1981-10-10','Bola, Novel',175,67);
mysql> INSERT INTO `siswa` VALUES (9,'Nadya Ai','W','A','1976-10-22','Bola, Music',150,80);
(3) Tampilkan nama, jenis, kelamin yang tgl.lahirnya pada tahun 1976 dan hobby-nya Drama :
mysql> SELECT nama, jenis_kelamin FROM siswa WHERE year(tgl_lahir)='1976' AND hobby LIKE '%drama%';
+---------+---------------+
| nama | jenis_kelamin |
+---------+---------------+
| Roi Joy | P |
+---------+---------------+
1 row in set (0.37 sec)
(4) Tampilkan nama, golongan darah yang golongan darahnya B dan suka music atau tinju :
mysql> SELECT nama, gol_darah FROM siswa WHERE gol_darah='B' AND (hobby LIKE '%music%' OR hobby LIKE '%tinju%');
+----------+-----------+
| nama | gol_darah |
+----------+-----------+
| Vebi Ria | B |
| Roy Nola | B |
+----------+-----------+
2 rows in set (0.00 sec)
(5) Tampilkan nama, tinggi badan, berat badan yang tinggi badannya diatas 170 dan hobynya tinju serta berat badannya dibawah 80 :
mysql> SELECT nama, tinggi_badan, berat_badan FROM siswa WHERE tinggi_badan > 170 AND hobby LIKE '%tinju%' AND berat_badan < 80;
+----------+--------------+-------------+
| nama | tinggi_badan | berat_badan |
+----------+--------------+-------------+
| Roy Nola | 173 | 45 |
+----------+--------------+-------------+
1 row in set (0.00 sec)
(6) Tampilkan nama, golongan darah yang namanya diawali dengan huruf 'R' tetapi golongan darahnya bukan 'O' :
mysql> SELECT nama, gol_darah FROM siswa WHERE left(nama,1)='R' AND gol_darah <> 'O';
+----------+-----------+
| nama | gol_darah |
+----------+-----------+
| Roy Nola | B |
+----------+-----------+
1 row in set (0.01 sec)
(7) Tampilkan nama, hobby yang hobbynya film atau bola
mysql> SELECT nama, hobby FROM siswa WHERE hobby LIKE '%film%' OR hobby LIKE '%bola%';
+----------+-------------------------+
| nama | hobby |
+----------+-------------------------+
| Sinto | Music, Baca Novel, Bola |
| Roi Joy | Film, Drama |
| Lololo | Voli, Film |
| Beny | Bola, Tinju, Game, Film |
| Yosafat | Bola, Novel |
| Nadya Ai | Bola, Music |
+----------+-------------------------+
6 rows in set (0.01 sec)
(8) Tampilkan nama, jenis kelamin yang jenis kelaminnya bukan W atau golongan darahnya bukan A
mysql> SELECT nama, jenis_kelamin FROM siswa WHERE jenis_kelamin <> 'W' OR gol_darah <> 'A';
+-----------+---------------+
| nama | jenis_kelamin |
+-----------+---------------+
| Vebi Ria | W |
| Sinto | W |
| Roi Joy | P |
| Lololo | P |
| Veti Vera | W |
| Beny | P |
| Roy Nola | P |
| Yosafat | P |
+-----------+---------------+
8 rows in set (0.01 sec)
(8) Tampilkan nama, golongan darah yang tahun lahirnya = 1976 dan hobbynya bukan tinju
mysql> SELECT nama, gol_darah FROM siswa WHERE year(tgl_lahir)='1976' AND hobby NOT LIKE '%tinju%';
+----------+-----------+
| nama | gol_darah |
+----------+-----------+
| Roi Joy | O |
| Nadya Ai | A |
+----------+-----------+
2 rows in set (0.00 sec)
(9) Tampilkan nama, berat badan yang hobbynya bukan novel dan jenis kelaminnya bukan P
mysql> SELECT nama, berat_badan FROM siswa WHERE hobby NOT LIKE '%novel%' AND jenis_kelamin <> 'P';
+-----------+-------------+
| nama | berat_badan |
+-----------+-------------+
| Vebi Ria | 80 |
| Veti Vera | 60 |
| Nadya Ai | 80 |
+-----------+-------------+
3 rows in set (0.00 sec)
(10) Tampilkan nama, jenis kelamin, tanggal lahir yang namanya mengandung huruf 'oy' dan hobbynya film
mysql> SELECT nama, jenis_kelamin, tgl_lahir FROM siswa WHERE nama LIKE '%oy%' AND hobby LIKE '%film%';
+---------+---------------+------------+
| nama | jenis_kelamin | tgl_lahir |
+---------+---------------+------------+
| Roi Joy | P | 1976-08-22 |
+---------+---------------+------------+
1 row in set (0.01 sec)
(11) Tampilkan nama, hobby yang hobbynya bukan renang dan jenis kelaminnya bukan W
mysql> SELECT nama, hobby FROM siswa WHERE hobby NOT LIKE '%renang%' AND jenis_kelamin <> 'W';
+----------+-------------------------+
| nama | hobby |
+----------+-------------------------+
| Roi Joy | Film, Drama |
| Lololo | Voli, Film |
| Beny | Bola, Tinju, Game, Film |
| Roy Nola | Drama, Tinju |
| Yosafat | Bola, Novel |
+----------+-------------------------+
5 rows in set (0.01 sec)
(12) Tampilkan nama, tanggal lahir, tinggi badan yang tinggi badannya diatas 170 dan tahun lahirnya bukan 1976
mysql> SELECT nama, tgl_lahir, tinggi_badan FROM siswa WHERE tinggi_badan > 170 AND year(tgl_lahir)<>1976;
+----------+------------+--------------+
| nama | tgl_lahir | tinggi_badan |
+----------+------------+--------------+
| Vebi Ria | 1977-12-04 | 173 |
| Sinto | 1980-10-23 | 177 |
| Roy Nola | 1975-02-09 | 173 |
| Yosafat | 1981-10-10 | 175 |
+----------+------------+--------------+
4 rows in set (0.00 sec)
(13) Tampilkan nama, jenis_kelamin yang namanya mengandung huruf 'a' dan jenis kelaminnya bukan W
mysql> SELECT nama, jenis_kelamin FROM siswa WHERE nama LIKE '%a%' AND jenis_kelamin <> 'W';
+----------+---------------+
| nama | jenis_kelamin |
+----------+---------------+
| Roy Nola | P |
| Yosafat | P |
+----------+---------------+
2 rows in set (0.00 sec)
Artikel yang menarik! :) Menambah wawasan baru lagi nih.. Terimakasih
ReplyDelete