SELECT
Statement
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: 0
Mengambil 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
staff
Query
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 Jakarta
Memberikan alias hasil query
pada SELECT
Kita
bisa menggunakan perintah SELECT untuk membuat alias pada suatu kolom
dengan perintah AS.
mysql> select nama_peg AS
nama_pegawai, alamat_peg AS asal from pegawai where
alamat_peg='Jakarta';
+----------------+---------+
|
nama_pegawai | asal |
+----------------+---------+
|
Olga Syahputra | Jakarta |
|
Ilham Ungara | Jakarta |
+----------------+---------+
2
rows in set (0.00 sec)
Di
sini pada saat menampilkan hasil, nama kolom akan diganti dengan
perintah AS
Query 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’
Belum ada tanggapan untuk "Perintah SQL part 4"
Post a Comment