Pengantar Bahasa Query:Tugas 2
Appearance
sudo mariadb -u root
CREATE DATABASE kangtain;
use kangtain;
CREATE TABLE karyawan ( nama varchar(25), pekerjaan varchar(25), gaji long, mkerja int );
- Input data cara 1
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('SUNARDI', 'STAF AHLI', 1500000, 3);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('AHMAD ZAENUDIN', 'DIREKTUR', 5000000, 8);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('JOKO MARTADI', 'ADMINISTRASI', 800000, 2);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('SUKOTJO', 'KEAMANAN', 500000, 3);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('ANDI SANYOTO', 'PEMBUKUAN', 1000000, 4);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('SANTOSO', 'ADMINISTRASI', 1200000, 6);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('MARIYANTI', 'STAF AHLI', 2000000, 1);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('RATMANTO', 'KEAMANAN', 750000, 4);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('MAHENDRA', 'SALESMAN', 1000000, 6);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('PARMADI BUDI', 'ADMINISTRASI', 2000000, 7);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('INDAH MULYONO', 'SEKRETARIS', 3000000, 5);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('ARIS HARYANTO', 'STAF AHLI', 1800000, 3);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('SARAJAYA', 'SALESMAN', 1200000, 1);
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values ('GUNARSO HALIM', 'STAF AHLI', 1500000, 1);
- Input data cara 2
INSERT INTO karyawan(nama, pekerjaan, gaji, mkerja) values
('SUNARDI', 'STAF AHLI', 1500000, 3),
('AHMAD ZAENUDIN', 'DIREKTUR', 5000000, 8),
('JOKO MARTADI', 'ADMINISTRASI', 800000, 2),
('SUKOTJO', 'KEAMANAN', 500000, 3),
('ANDI SANYOTO', 'PEMBUKUAN', 1000000, 4),
('SANTOSO', 'ADMINISTRASI', 1200000, 6),
('MARIYANTI', 'STAF AHLI', 2000000, 1),
('RATMANTO', 'KEAMANAN', 750000, 4),
('MAHENDRA', 'SALESMAN', 1000000, 6),
('PARMADI BUDI', 'ADMINISTRASI', 2000000, 7),
('INDAH MULYONO', 'SEKRETARIS', 3000000, 5),
('ARIS HARYANTO', 'STAF AHLI', 1800000, 3),
('SARAJAYA', 'SALESMAN', 1200000, 1),
('GUNARSO HALIM', 'STAF AHLI', 1500000, 1);
Perintah Select
- Menampilkan Semua field
SELECT * FROM karyawan;
Output
+----------------+--------------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +----------------+--------------+---------+--------+ | SUNARDI | STAF AHLI | 1500000 | 3 | | AHMAD ZAENUDIN | DIREKTUR | 5000000 | 8 | | JOKO MARTADI | ADMINISTRASI | 800000 | 2 | | SUKOTJO | KEAMANAN | 500000 | 3 | | ANDI SANYOTO | PEMBUKUAN | 1000000 | 4 | | SANTOSO | ADMINISTRASI | 1200000 | 6 | | MARIYANTI | STAF AHLI | 2000000 | 1 | | RATMANTO | KEAMANAN | 750000 | 4 | | MAHENDRA | SALESMAN | 1000000 | 6 | | PARMADI BUDI | ADMINISTRASI | 2000000 | 7 | | INDAH MULYONO | SEKRETARIS | 3000000 | 5 | | ARIS HARYANTO | STAF AHLI | 1800000 | 3 | | SARAJAYA | SALESMAN | 1200000 | 1 | | GUNARSO HALIM | STAF AHLI | 1500000 | 1 | +----------------+--------------+---------+--------+
- Tampilkan yang namanya di awali dengan huruf depan S
SELECT * FROM karyawan WHERE nama LIKE 'S%';
Output
+----------+--------------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +----------+--------------+---------+--------+ | SUNARDI | STAF AHLI | 1500000 | 3 | | SUKOTJO | KEAMANAN | 500000 | 3 | | SANTOSO | ADMINISTRASI | 1200000 | 6 | | SARAJAYA | SALESMAN | 1200000 | 1 | +----------+--------------+---------+--------+
- Tampilkan yang pekerjaannya STAF AHLI
SELECT * FROM karyawan WHERE pekerjaan = 'STAF AHLI';
Output
+---------------+-----------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +---------------+-----------+---------+--------+ | SUNARDI | STAF AHLI | 1500000 | 3 | | MARIYANTI | STAF AHLI | 2000000 | 1 | | ARIS HARYANTO | STAF AHLI | 1800000 | 3 | | GUNARSO HALIM | STAF AHLI | 1500000 | 1 | +---------------+-----------+---------+--------+
- Tampilkan yang gajinya dibawah 1000000
SELECT * FROM karyawan WHERE gaji<1000000;
Output
+--------------+--------------+--------+--------+ | nama | pekerjaan | gaji | mkerja | +--------------+--------------+--------+--------+ | JOKO MARTADI | ADMINISTRASI | 800000 | 2 | | SUKOTJO | KEAMANAN | 500000 | 3 | | RATMANTO | KEAMANAN | 750000 | 4 | +--------------+--------------+--------+--------+
- Tampilkan yang gajinya diatas 3000000
SELECT * FROM karyawan WHERE gaji>3000000;
Output
+----------------+-----------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +----------------+-----------+---------+--------+ | AHMAD ZAENUDIN | DIREKTUR | 5000000 | 8 | +----------------+-----------+---------+--------+
- Tampilkan gajinya antara 2000000 - 4000000
SELECT * FROM karyawan WHERE gaji BETWEEN 2000000 and 4000000;
Output
+---------------+--------------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +---------------+--------------+---------+--------+ | MARIYANTI | STAF AHLI | 2000000 | 1 | | PARMADI BUDI | ADMINISTRASI | 2000000 | 7 | | INDAH MULYONO | SEKRETARIS | 3000000 | 5 | +---------------+--------------+---------+--------+
- Tampilkan data yang pekerjaannya ADMINISTRASI atau STAF AHLI
SELECT * FROM karyawan WHERE pekerjaan = 'ADMINISTRASI' OR pekerjaan = 'STAF AHLI';
Output
+---------------+--------------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +---------------+--------------+---------+--------+ | SUNARDI | STAF AHLI | 1500000 | 3 | | JOKO MARTADI | ADMINISTRASI | 800000 | 2 | | SANTOSO | ADMINISTRASI | 1200000 | 6 | | MARIYANTI | STAF AHLI | 2000000 | 1 | | PARMADI BUDI | ADMINISTRASI | 2000000 | 7 | | ARIS HARYANTO | STAF AHLI | 1800000 | 3 | | GUNARSO HALIM | STAF AHLI | 1500000 | 1 | +---------------+--------------+---------+--------+
- Tampilkan yang masa kerjanya diatas >5 tahun dan gajinya diatas 4.000.000
SELECT * FROM karyawan WHERE mkerja>5 AND gaji>4000000;
Output
+----------------+-----------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +----------------+-----------+---------+--------+ | AHMAD ZAENUDIN | DIREKTUR | 5000000 | 8 | +----------------+-----------+---------+--------+
- Tampilkan yang Namanya berhuruf depan S dan Gaji nya kurang <1000000
SELECT * FROM karyawan WHERE nama LIKE 'S%' AND gaji<1000000;
Output
+---------+-----------+--------+--------+ | nama | pekerjaan | gaji | mkerja | +---------+-----------+--------+--------+ | SUKOTJO | KEAMANAN | 500000 | 3 | +---------+-----------+--------+--------+
- Tampilkan yang gajinya diatas >1000000 dan Masa Kerjanya >4 th
SELECT * FROM karyawan WHERE gaji>1000000 AND mkerja>4;
Output
+----------------+--------------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +----------------+--------------+---------+--------+ | AHMAD ZAENUDIN | DIREKTUR | 5000000 | 8 | | SANTOSO | ADMINISTRASI | 1200000 | 6 | | PARMADI BUDI | ADMINISTRASI | 2000000 | 7 | | INDAH MULYONO | SEKRETARIS | 3000000 | 5 | +----------------+--------------+---------+--------+
- Gantilah yang pekerjaannya KEAMANAN menjadi SATPAM
UPDATE karyawan SET pekerjaan = REPLACE(pekerjaan, "KEAMANAN", "SATPAM");
Output
+----------------+--------------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +----------------+--------------+---------+--------+ | SUNARDI | STAF AHLI | 1500000 | 3 | | AHMAD ZAENUDIN | DIREKTUR | 5000000 | 8 | | JOKO MARTADI | ADMINISTRASI | 800000 | 2 | | SUKOTJO | SATPAM | 500000 | 3 | | ANDI SANYOTO | PEMBUKUAN | 1000000 | 4 | | SANTOSO | ADMINISTRASI | 1200000 | 6 | | MARIYANTI | STAF AHLI | 2000000 | 1 | | RATMANTO | SATPAM | 750000 | 4 | | MAHENDRA | SALESMAN | 1000000 | 6 | | PARMADI BUDI | ADMINISTRASI | 2000000 | 7 | | INDAH MULYONO | SEKRETARIS | 3000000 | 5 | | ARIS HARYANTO | STAF AHLI | 1800000 | 3 | | SARAJAYA | SALESMAN | 1200000 | 1 | | GUNARSO HALIM | STAF AHLI | 1500000 | 1 | +----------------+--------------+---------+--------+
- Nama AHMAD ZAENUDIN seharusnya SLAMET ACHMAD perbaikilah
UPDATE karyawan SET nama ='SLAMET ACHMAD' WHERE nama='AHMAD ZAENUDIN';
Output
+---------------+--------------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +---------------+--------------+---------+--------+ | SUNARDI | STAF AHLI | 1500000 | 3 | | SLAMET ACHMAD | DIREKTUR | 5000000 | 8 | | JOKO MARTADI | ADMINISTRASI | 800000 | 2 | | SUKOTJO | SATPAM | 500000 | 3 | | ANDI SANYOTO | PEMBUKUAN | 1000000 | 4 | | SANTOSO | ADMINISTRASI | 1200000 | 6 | | MARIYANTI | STAF AHLI | 2000000 | 1 | | RATMANTO | SATPAM | 750000 | 4 | | MAHENDRA | SALESMAN | 1000000 | 6 | | PARMADI BUDI | ADMINISTRASI | 2000000 | 7 | | INDAH MULYONO | SEKRETARIS | 3000000 | 5 | | ARIS HARYANTO | STAF AHLI | 1800000 | 3 | | SARAJAYA | SALESMAN | 1200000 | 1 | | GUNARSO HALIM | STAF AHLI | 1500000 | 1 | +---------------+--------------+---------+--------+
- Karyawan yang bernama SANTOSO dan SURAJAYA mengundurkan diri, hapuslah datanya.
DELETE FROM karyawan WHERE nama = 'SANTOSO' OR nama='SARAJAYA';
Output
+---------------+--------------+---------+--------+ | nama | pekerjaan | gaji | mkerja | +---------------+--------------+---------+--------+ | SUNARDI | STAF AHLI | 1500000 | 3 | | SLAMET ACHMAD | DIREKTUR | 5000000 | 8 | | JOKO MARTADI | ADMINISTRASI | 800000 | 2 | | SUKOTJO | SATPAM | 500000 | 3 | | ANDI SANYOTO | PEMBUKUAN | 1000000 | 4 | | MARIYANTI | STAF AHLI | 2000000 | 1 | | RATMANTO | SATPAM | 750000 | 4 | | MAHENDRA | SALESMAN | 1000000 | 6 | | PARMADI BUDI | ADMINISTRASI | 2000000 | 7 | | INDAH MULYONO | SEKRETARIS | 3000000 | 5 | | ARIS HARYANTO | STAF AHLI | 1800000 | 3 | | GUNARSO HALIM | STAF AHLI | 1500000 | 1 | +---------------+--------------+---------+--------+
- Tampilkan data NAMA, JABATAN dan GAJI yang jabatannya STAF AHLI
SELECT nama,pekerjaan,gaji FROM karyawan WHERE pekerjaan='STAF AHLI';
Output
+---------------+-----------+---------+ | nama | pekerjaan | gaji | +---------------+-----------+---------+ | SUNARDI | STAF AHLI | 1500000 | | MARIYANTI | STAF AHLI | 2000000 | | ARIS HARYANTO | STAF AHLI | 1800000 | | GUNARSO HALIM | STAF AHLI | 1500000 | +---------------+-----------+---------+
- Tampilkan data NAMA dan GAJI dimana gaji sudah naik 3%
select nama, gaji + (0.03*gaji) FROM karyawan;
Output
+---------------+--------------------+ | nama | gaji + (0.03*gaji) | +---------------+--------------------+ | SUNARDI | 1545000 | | SLAMET ACHMAD | 5150000 | | JOKO MARTADI | 824000 | | SUKOTJO | 515000 | | ANDI SANYOTO | 1030000 | | MARIYANTI | 2060000 | | RATMANTO | 772500 | | MAHENDRA | 1030000 | | PARMADI BUDI | 2060000 | | INDAH MULYONO | 3090000 | | ARIS HARYANTO | 1854000 | | GUNARSO HALIM | 1545000 | +---------------+--------------------+
- Terjadi pergantian tahun, semua Masa Kerja bertambah 1 tahun dan semua GAJI naik 10% perbaikilah datanya.
UPDATE karyawan SET mkerja = mkerja + 1, gaji = gaji + (0.10*gaji);
Output
+---------------+--------------+-----------+--------+ | nama | pekerjaan | gaji | mkerja | +---------------+--------------+-----------+--------+ | SUNARDI | STAF AHLI | 1650001.1 | 4 | | SLAMET ACHMAD | DIREKTUR | 5500001.1 | 9 | | JOKO MARTADI | ADMINISTRASI | 880001.1 | 3 | | SUKOTJO | SATPAM | 550001.1 | 4 | | ANDI SANYOTO | PEMBUKUAN | 1100001.1 | 5 | | MARIYANTI | STAF AHLI | 2200001.1 | 2 | | RATMANTO | SATPAM | 825001.1 | 5 | | MAHENDRA | SALESMAN | 1100001.1 | 7 | | PARMADI BUDI | ADMINISTRASI | 2200001.1 | 8 | | INDAH MULYONO | SEKRETARIS | 3300001.1 | 6 | | ARIS HARYANTO | STAF AHLI | 1980001.1 | 4 | | GUNARSO HALIM | STAF AHLI | 1650001.1 | 2 | +---------------+--------------+-----------+--------+