Sebelum
kita memulai pembahsan dengan SELECT terlebih dahulu kita siapkan tabel baru
bernama table pegawai.
mysql> create table pegawai(nip
varchar(8) primary key, nama_peg varchar(50), al
amat_peg varchar(50), jabatan
varchar(20), gaji int(7));
Query OK, 0 rows affected (0.70 sec)
mysql> desc pegawai;
+------------+-------------+------+-----+---------+-------+
|
Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
|
nip | varchar(8) | NO
| PRI | NULL | |
|
nama_peg | varchar(50) | YES | |
NULL | |
|
alamat_peg | varchar(50) | YES | | NULL
| |
|
jabatan | varchar(20) | YES | |
NULL | |
|
gaji | int(7) | YES
| | NULL |
|
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.13 sec)
Lalu kita
isikan dengan data yang dudah tersedia
mysql> load data local infile
'G://LAB4/BASISDATA/file.txt' into table pegawai;
Query OK, 15 rows affected (0.63 sec)
Records: 15 Deleted: 0 Skipped: 0
Warnings: 0Mengambil Data dengan SELECT
Perintah
select untuk mengambil data sudah sering kita pakai sebelumnya, untuk mengambil
seluruh data yang ada di dalam suatu tabel kita bisa menggunakan perintah SELECT * FROM <nama_tabel>
CONTOH :
mysql> select * from pegawai;
+----------+-----------------------+-------------+----------------+---------+
|
nip | nama_peg | alamat_peg | jabatan | gaji |
+----------+-----------------------+-------------+----------------+---------+
|
PEG-1001 | Soeharto Mangundirejo | Yogyakarta
| C.E.O | 9000000 |
|
PEG-1002 | Felix Nababan |
Medan | Manager | 8000000 |
|
PEG-1003 | Olga Syahputra |
Jakarta | Kepala Unit | 6000000 |
|
PEG-1004 | Chelsea Olivia |
Bandung | Kepala Unit | 6000000 |
|
PEG-1005 | Tuti Wardani | Jawa
Tengah | Supervisor | 4500000 |
|
PEG-1006 | Budi Drajat |
Malang | Supervisor | 4500000 |
|
PEG-1007 | Bambang Pamungkas |
Kudus | Staff Senior | 3000000 |
|
PEG-1008 | Ely Oktafiani |
Yogyakarta | Staff Senior | 3000000 |
|
PEG-1009 | Rani Wijaya |
Magelang | Staff Senior | 3000000 |
|
PEG-1010 | Rano Karno | Solo
| Staff Junior | 2000000 |
|
PEG-1011 | Rahmadi Sholeh |
Yogyakarta | Staff Junior | 2000000 |
|
PEG-1012 | Ilham Ungara |
Jakarta | Staff Junior | 2000000 |
|
PEG-1013 | Endang Melati |
Madiun | Staff Junior | 2000000 |
|
PEG-1014 | Donny Damara |
Makasar | Tenaga Kontrak | 1000000 |
|
PEG-1015 | Paijem |
Yogyakarta | Tenaga Kontrak | 500000 |
+----------+-----------------------+-------------+----------------+---------+
15 rows in set (0.00 sec)
Perintah diatas menunjukan seluruh dara
dari table pegawai
Kita juga bisa mengambil seluruh data
tapi hanya kolom – kolom tertentu dengan perintah dasar : SELECT <NAMA_KOLOM, NAMA_KOLOM > FROM <NAMA_TABEL>
CONTOH :
mysql> select nip, nama_peg from
pegawai;
+----------+-----------------------+
|
nip | nama_peg |
+----------+-----------------------+
|
PEG-1001 | Soeharto Mangundirejo |
|
PEG-1002 | Felix Nababan |
|
PEG-1003 | Olga Syahputra |
|
PEG-1004 | Chelsea Olivia |
|
PEG-1005 | Tuti Wardani |
|
PEG-1006 | Budi Drajat |
|
PEG-1007 | Bambang Pamungkas |
|
PEG-1008 | Ely Oktafiani |
|
PEG-1009 | Rani Wijaya |
|
PEG-1010 | Rano Karno |
|
PEG-1011 | Rahmadi Sholeh |
|
PEG-1012 | Ilham Ungara |
|
PEG-1013 | Endang Melati |
|
PEG-1014 | Donny Damara |
|
PEG-1015 | Paijem |
+----------+-----------------------+
15 rows in set (0.00 sec)Query menggunakan parameter kondisi WHERE
Statement
WHERE disini akan digunakan untuk memfilter atau mengatur kolom dan baris mana
yang akan kita munculkan atau kita ambil.
PERINTAH DASAR :
SELECT *
FROM <nama_table> WHERE <kondisi>
CONTOH :
mysql>
select * from pegawai where jabatan='Staff Junior';
+----------+----------------+------------+--------------+---------+
| nip |
nama_peg | alamat_peg |
jabatan | gaji |
+----------+----------------+------------+--------------+---------+
| PEG-1010 | Rano Karno
| Solo | Staff Junior |
2000000 |
| PEG-1011 | Rahmadi Sholeh | Yogyakarta | Staff Junior |
2000000 |
| PEG-1012 | Ilham Ungara
| Jakarta | Staff Junior |
2000000 |
| PEG-1013 | Endang Melati
| Madiun | Staff Junior |
2000000 |
+----------+----------------+------------+--------------+---------+
4 rows in set (0.44 sec)
Perintah diatas menunjukkan data pegawai
yang difilter berdasarkan jabatan yg berisi staff junior
mysql>
select nip, nama_peg from pegawai where jabatan='Staff Junior';
+----------+----------------+
| nip
| nama_peg |
+----------+----------------+
| PEG-1010 | Rano Karno |
| PEG-1011 | Rahmadi Sholeh |
| PEG-1012 | Ilham Ungara |
| PEG-1013 | Endang Melati |
+----------+----------------+
4 rows in set (0.00 sec)
Untuk menampilkan tidak
semua data atau hanya data pada kolom – kolom tertentu yg telah dituliskan dan
tetap berdasarkan jabatan = junior staffQuery menggunakan beberapa parameter kondisional
Perintah
yang digunakan disini menggunakan WHERE tapi yang membedakan perintah yang
digunakan lebih menunjukkan kondisi yang diinginkan, dengan bisa menggunakan
penggabungan beberapa parameter untuk menampilkan data. Penggabungan ini bisa
menggunakan perintah AND atau OR, untuk lebih jelasnya bisa dilihat contoh :
mysql> select * from pegawai where
alamat_peg ='Yogyakarta' AND gaji < 4000000;
+----------+----------------+------------+----------------+---------+
| nip | nama_peg | alamat_peg | jabatan | gaji |
+----------+----------------+------------+----------------+---------+
| PEG-1008 | Ely
Oktafiani | Yogyakarta | Staff
Senior | 3000000 |
| PEG-1011 | Rahmadi
Sholeh | Yogyakarta | Staff Junior |
2000000 |
| PEG-1015 | Paijem | Yogyakarta | Tenaga Kontrak | 500000 |
+----------+----------------+------------+----------------+---------+
3 rows
in set (0.00 sec)
Perintah
diatas menunjukkan pemfilteran dengan 2 kondisi yaitu berdasarkan alamat_peg
dan gaji yang kurang dari 4jt
mysql> select nip, nama_peg from pegawai
where alamat_peg ='Yogyakarta' OR alamat_peg ='Jakarta';
+----------+-----------------------+
| nip | nama_peg |
+----------+-----------------------+
| PEG-1001 | Soeharto
Mangundirejo |
| PEG-1003 | Olga
Syahputra |
| PEG-1008 | Ely
Oktafiani |
| PEG-1011 | Rahmadi
Sholeh |
| PEG-1012 | Ilham
Ungara |
| PEG-1015 | Paijem |
+----------+-----------------------+
6 rows
in set (0.00 sec)
Jika perintah diatas
menunjukkan data yang mempunyai alamat di Yogyakarta atau di JakartaQuery data bertipe teks dengan pattern matching
Menampilkan data dengan mencocokan
(matching) dengan kondisi yang kita inginkan.
Dengan menggunakan perintah ‘LIKE’ untuk
perintah ‘seperti’ dan ‘NOT LIKE’ untuk perintah ‘tidak seperti’ dan beberapa
simbol matching yg ada di SQL yaitu ‘_’ dan ‘%’ untuk lebih jelasnya bisa lihat
di contoh :
mysql>
select nama_peg from pegawai where jabatan like 'M______';
+---------------+
| nama_peg
|
+---------------+
| Felix Nababan |
+---------------+
1 row in set (0.00 sec)
Pada perintah diatas menunjukkan bahwa data
yang diminta adalah data yang memuat Jabatan berawalan M dan berjumlag 7 huruf.
mysql>
select nama_peg from pegawai where jabatan like 'M%';
+---------------+
| nama_peg
|
+---------------+
| Felix Nababan |
+---------------+
1 row in set (0.00 sec)
Perintah di atas menunjukkan data yang
diminta adalah data nama pegawai yang jabatannya berawalan huruf ‘M’
mysql>
select nama_peg from pegawai where alamat_peg like '%A';
+-----------------------+
| nama_peg |
+-----------------------+
| Soeharto Mangundirejo |
| Olga Syahputra |
| Ely Oktafiani |
| Rahmadi Sholeh |
| Ilham Ungara |
| Paijem |
+-----------------------+
6 rows in set (0.00 sec)
Perintah di atas
menunjukkan data yang diminta adalah data nama pegawai yang alamatnya
berakhiran huruf ‘A’Membatasi hasil query dengan LIMIT
Perintah LIMIT ini akan membatasi jumlah data yang akan kita tampilkan.
mysql> select * from pegawai LIMIT 5;
+----------+-----------------------+-------------+-------------+---------+
|
nip | nama_peg | alamat_peg | jabatan
| gaji |
+----------+-----------------------+-------------+-------------+---------+
|
PEG-1001 | Soeharto Mangundirejo | Yogyakarta
| C.E.O | 9000000 |
|
PEG-1002 | Felix Nababan | Medan | Manager | 8000000 |
|
PEG-1003 | Olga Syahputra |
Jakarta | Kepala Unit | 6000000 |
|
PEG-1004 | Chelsea Olivia |
Bandung | Kepala Unit | 6000000 |
|
PEG-1005 | Tuti Wardani | Jawa
Tengah | Supervisor | 4500000 |
+----------+-----------------------+-------------+-------------+---------+
5 rows in set (0.00 sec)
0 komentar :
Posting Komentar