Sunday, December 19, 2010

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 :
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)

1 comment:

  1. Artikel yang menarik! :) Menambah wawasan baru lagi nih.. Terimakasih

    ReplyDelete

Leave your comments with attitude please. This blog does DOFOLLOW :-)