Teori
1. AS
AS biasa digunakan untuk menampilkan label kolom dengan nama lain sehingga yang akan muncul dalam hasil query bukan nama asli kolom, tetapi nama yang mungkin lebih sesuai dan mudah dimengerti. AS digunakan setelah nama kolom yang akan diganti yang kemudian diikuti dengan nama penggantinya. Berikut struktur querynya :- select namakolom as namakolompengganti from namatabel;
2. AND & OR
Pada bagian sebelumnya kita menggunakan anak kalimat atau sintaks WHERE hanya pada konteks yang sederhana. Berikut ini kita akan mencoba menggunakan WHERE untuk konteks yang lebih kompleks lagi, anak kalimat where yang kompleks akan bekerja dengan baik dengan menggunakan kata AND dan OR. SQL menggunakan standar logika boolean three-valued seperti pada tabel berikut ;Berikut struktur SQL untuk penampilan data :
- select * from namatabel where namakolom = ‘pencarian 1’ and namakolom = ‘pencarian 2’; Atau
- select * from namatabel where namakolom = ‘pencarian 1’ or namakolom = ‘pencarian 2’;
3. BETWEEN
BETWEEN digunakan untuk menentukan lebar nilai dari nilai terendah dan nilai tertinggi. Pada BETWEEN menggunakan operator pembanding seperti pada tabel berikut;Logika operator BETWEEN sebagai berikut :
- Nilai a dalam formula “a BETWEEN x AND y” indentik dengan “a >= x AND a <= y“
- “a NOT BETWEEN x AND y “ identik dengan “a < x OR a > y”
4. IN & NOT IN
Operator IN berguna melakukan pencocokan dengan salah satu yang ada pada suatu daftar nilai. Berikut Struktur yang digunakan- Select * from nama_tabel where nama_kolom in (kata_kunci1, kata_kunci2, kata_kunci13, kata_kunci14);
5. LIKE
LIKE digunakan ketika kita ingin mencari sebuah data yang hanya diwakili oleh salah satu atau lebih hurufnya saja. Misalkan kita ingin mencari nama yang huruf awalnya R, maka kita harus menggunakan LIKE. Berikut adalah tabel contoh kasus penggunaan LIKE :
Berikut struktur SQL untuk pencarian data menggunakan LIKE :
- select * from nama_tabel where nama_kolom like ‘operator’;
6. REGEXP
Regular Expression atau Regex, merupakan sebuah teknik atau cara untuk mencari persamaan - presamaan string atau data dan memanipulasinya. Biasanya lebih sering digunakan untuk string. Didalam PostgreSQL disimbolkan dengan “~”. Berikut tabel daftar simbol pada reguler expression :
Pola
|
Penjelasan
|
[ ]
|
Ekspresi kurung. cocok dengan satu karakter yang berada dalam kurung,
misal: pattern "a[bcd]i" cocok dengan string "abi",
"aci", dan "adi". Penggunaan range huruf dalam kurung
diperbolehkan, misal : pattern "[a- z]" cocok dengan salah satu karakter
diantara string "a" sampai "z". pattern [0-9] cocok
dengan salah satu angka. jika ingin mencari karakter "-" juga,
karakter tersebut harus diletakkan di depan atau di belakang kelompok, misal:
"[abc-]".
|
[^ ]
|
Cocok dengan sebuah karakter yang tidak ada dalam kurung, berlawanan
dengan yang diatas. misal: pattern "[^abc]" cocok dengan satu
karakter apa saja kecuali "a", "b", "c".
|
?
|
Cocok dengan nol atau satu karakter sebelumnya. misal: pattern
"died?" cocok dengan string "die" dan "died".
|
+
|
Cocok dengan satu atau lebih karakter sebelumnya. misal:
"yu+k" cocok dengan "yuk", "yuuk",
"yuuuk", dan seterusnya.
|
*
|
Cocok dengan nol atau lebih karakter sebelumnya. misal: pattern
"hu*p" cocok dengan string "hp", "hup",
"huup" dan seterusnya.
|
{x}
|
Cocok dengan karakter sebelumnya sejumlah x karakter. misal: pattern
"[0-9]{3}" cocok dengan bilangan berapa saja yang berukuran 3
digit.
|
{x,y}
|
Cocok dengan karakter sebelumnya sejumlah x hingga y karakter. misal:
pattern "[a-z]{3,5}" cocok dengan semua susunan huruf kecil yang
terdiri dari 3 sampai 5 huruf.
|
!
|
Jika diletakkan di depan pattern, maka berarti "bukan". misal
pattern "!a.u" cocok dengan string apa saja kecuali string
"alu", "anu", "abu", "asu",
"aiu", dan seterusnya .
|
^
|
Jika diletakkan di depan pattern, akan cocok dengan awal sebuah
string.
|
()
|
Gruping. digunakan untuk mengelompokkan karakter - karakter menjadi
single unit. string yang cocok dalan pattern yang berada dalam tanda kurung
dapat digunakan pada operasi berikutnya. semacam variable.
|
$
|
Jika diletakkan di belakang pattern, akan cocok dengan akhir sebuah
string.
|
- select * from nama_tabel where nama_kolom ~ ‘operator_regexp dan patern’;
7. DISTINCT
DISTINCT sering kali diperlukan untuk mengembalikan hasil dari sebuah query dengan tidak terdapat duplikasi, artinya pada hasil outputnya tidak terjadi kesamaan data meskipun pada data sesungguhnya sangat mungkin banyak duplikasi..
Hal ini juga berlaku jika data yang ada dalam bentuk angka. Berikut struktur perintah dasar SQL :
- select distinct nama_kolom from nama_tabel;
8. LIMIT & OFFSET
- select * from nama_tabel limit 2; Atau select * from nama_tabel offset 2;
9. UNION, EXCEPT dan INTERSECT
Hasil dari dua buah query dapat dikombinasikan dengan menggunakan UNION, EXCEPT atau INTERSECT. UNION digunakan untuk menggabungkan hasil dua buah query menjadi satu kolom. Berikut struktur query untuk UNION : select nama_kolom from nama_tabel union select nama_kolom from nama_tabel; atau select nama_kolom from nama_tabel union all select nama_kolom from nama_tabel; EXCEPT digunakan untuk menampilkan hanya query pertama saja, sedangkan hasil query kedua dan yang sama dengan hasil query kedua tidak akan ditampilkan. Berikut struktur query penggunaan EXCEPT : select nama_kolom from nama_tabel except select nama_kolom from nama_tabel; Perintah INTERSECT hanya akan menampilkan seluruh isi dari data yangmemiliki kesaman diantara hasil kedua query tersebut. Berikut struktur query penggunaan INTERSECT : select nama_kolom from nama_tabel except select nama_kolom from nama_tabel; Dari uraian materi tentang UNION, EXCEPT dan INTERSECT dapat digambarkan sebagai berikut :Gambar diatas menyatakan UNION yaitu gabungan dari kedua buah object.
Sedangan gambar kedua menyatakan EXCEPT dimana object yang diambil hanya yang kuning. Sehingga object yang merah atau object kuning yang sama dengan object merah tidak diambil.
Gambar ke tiga menyatakan INTERSECT yaitu mengambil object yang berwarna hijau atau object memiliki kandungan dari object kuning dan merah.
Tugas Praktikum
use PostgreeSQL (shell)
UPDATE 1
db_muzakki13650026=> update mahasiswa set id_fak='1' where nim_mah=5;
UPDATE 1
db_muzakki13650026=> update mahasiswa set id_fak='1' where nim_mah=7;
UPDATE 1
db_muzakki13650026=> update mahasiswa set id_fak='1' where nim_mah=3;
UPDATE 1
db_muzakki13650026=> update mahasiswa set id_fak='1' where nim_mah=2;
UPDATE 1
db_muzakki13650026=> select* from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(7 rows)
db_muzakki13650026=> select * from mahasiswa where id_fak='1' and gemder='L';
ERROR: column "gemder" does not exist
LINE 1: select * from mahasiswa where id_fak='1' and gemder='L';
^
db_muzakki13650026=> select * from mahasiswa where id_fak='1' and gender='L';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(4 rows)
db_muzakki13650026=> select * from mahasiswa where id_fak='1' or gender='L';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(5 rows)
db_muzakki13650026=> select* from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(7 rows)
db_muzakki13650026=> select* from mahasiswa order by nim_mah;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
1 | wong | pasuruan | 1 | 08672536745 | L
2 | mugiono | surabaya | 1 | 086235235 | L
3 | jatno | madura | 1 | 0346567678545 | L
4 | luki | ponorogo | 2 | 82576568798 | P
5 | rom | kediri | 1 | 034667646655 | L
6 | rim | malang | 2 | 073462847355 | P
7 | rus | maling | 1 | 077463894865 | P
(7 rows)
db_muzakki13650026=> select* from mahasiswa where nim_mah between '3' and '5';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
5 | rom | kediri | 1 | 034667646655 | L
3 | jatno | madura | 1 | 0346567678545 | L
(3 rows)
db_muzakki13650026=> select* from mahasiswa where nim_mah not between '3' and '5
';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+--------------+--------
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
7 | rus | maling | 1 | 077463894865 | P
2 | mugiono | surabaya | 1 | 086235235 | L
(4 rows)
db_muzakki13650026=> select nim_mah, nama_mah from mahasiswa where nim_mah in (3
,2,5);
nim_mah | nama_mah
---------+----------
5 | rom
3 | jatno
2 | mugiono
(3 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah like'a%';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah like'__n%a' ;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select* from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(7 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah like'%g' ;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------------+--------
1 | wong | pasuruan | 1 | 08672536745 | L
(1 row)
db_muzakki13650026=> select * from mahasiswa where nama_mah like'__t%o' ;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
3 | jatno | madura | 1 | 0346567678545 | L
(1 row)
db_muzakki13650026=> select distinct id_fak from mahasiswa;
id_fak
--------
1
2
(2 rows)
db_muzakki13650026=> select distinct gender from mahasiswa;
gender
--------
L
P
(2 rows)
db_muzakki13650026=> select distinct alamat_mah from mahasiswa;
alamat_mah
------------
maling
madura
surabaya
kediri
pasuruan
malang
ponorogo
(7 rows)
db_muzakki13650026=> select* from pegawai limit 2;
ERROR: relation "pegawai" does not exist
LINE 1: select* from pegawai limit 2;
^
db_muzakki13650026=> select * from mahasiswa limit 2;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+--------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
(2 rows)
db_muzakki13650026=> select* from mahasiswa offset 5;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(2 rows)
db_muzakki13650026=> select* from mahasiswa offset 3;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(4 rows)
db_muzakki13650026=> select * from mahasiswa limit 3;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+--------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
(3 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'a[rtd]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
3 | jatno | madura | 1 | 0346567678545 | L
(1 row)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'a%[abcdefghijklmn
opqrst]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'r%[abcdefghijklmn
opqrst]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'r%[abcdefghijklmn
opqrs]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'r[abcdefghijklmno
pqrs]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+--------------+--------
6 | rim | malang | 2 | 073462847355 | P
5 | rom | kediri | 1 | 034667646655 | L
(2 rows)
db_muzakki13650026=> create table organ_dalam (nomor integer not null, nama varc
har (20));
CREATE TABLE
db_muzakki13650026=> create table organ_luar (nomor integer not null, nama varch
ar (20));
CREATE TABLE
db_muzakki13650026=> insert into organ_dalam values (1,'jantung');
INSERT 0 1
db_muzakki13650026=> insert into organ_dalam values (2,'paru-paru');
INSERT 0 1
db_muzakki13650026=> insert into organ_dalam values (3,'tenggorokan');
INSERT 0 1
db_muzakki13650026=> insert into organ_luar values (1,'hidung');
INSERT 0 1
db_muzakki13650026=> insert into organ_luar values (2,'mata');
INSERT 0 1
db_muzakki13650026=> insert into organ_luar values (3,'tenggorokan');
INSERT 0 1
db_muzakki13650026=> select nama from organ_dalam union select nama from organ_l
uar;
nama
-------------
tenggorokan
paru-paru
mata
hidung
jantung
(5 rows)
db_muzakki13650026=> select nama from organ_dalam exept select nama from organ_l
uar;
ERROR: syntax error at or near "select"
LINE 1: select nama from organ_dalam exept select nama from organ_lu...
^
db_muzakki13650026=> select nama from organ_dalam except select nama from organ_
luar;
nama
-----------
jantung
paru-paru
(2 rows)
db_muzakki13650026=> select nama from organ_dalam intersect select nama from org
an_luar;
nama
-------------
tenggorokan
(1 row)
db_muzakki13650026=>
db_muzakki13650026=> update mahasiswa set id_fak='1' where nim_mah=5;
UPDATE 1
db_muzakki13650026=> update mahasiswa set id_fak='1' where nim_mah=7;
UPDATE 1
db_muzakki13650026=> update mahasiswa set id_fak='1' where nim_mah=3;
UPDATE 1
db_muzakki13650026=> update mahasiswa set id_fak='1' where nim_mah=2;
UPDATE 1
db_muzakki13650026=> select* from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(7 rows)
db_muzakki13650026=> select * from mahasiswa where id_fak='1' and gemder='L';
ERROR: column "gemder" does not exist
LINE 1: select * from mahasiswa where id_fak='1' and gemder='L';
^
db_muzakki13650026=> select * from mahasiswa where id_fak='1' and gender='L';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(4 rows)
db_muzakki13650026=> select * from mahasiswa where id_fak='1' or gender='L';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(5 rows)
db_muzakki13650026=> select* from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(7 rows)
db_muzakki13650026=> select* from mahasiswa order by nim_mah;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
1 | wong | pasuruan | 1 | 08672536745 | L
2 | mugiono | surabaya | 1 | 086235235 | L
3 | jatno | madura | 1 | 0346567678545 | L
4 | luki | ponorogo | 2 | 82576568798 | P
5 | rom | kediri | 1 | 034667646655 | L
6 | rim | malang | 2 | 073462847355 | P
7 | rus | maling | 1 | 077463894865 | P
(7 rows)
db_muzakki13650026=> select* from mahasiswa where nim_mah between '3' and '5';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
5 | rom | kediri | 1 | 034667646655 | L
3 | jatno | madura | 1 | 0346567678545 | L
(3 rows)
db_muzakki13650026=> select* from mahasiswa where nim_mah not between '3' and '5
';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+--------------+--------
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
7 | rus | maling | 1 | 077463894865 | P
2 | mugiono | surabaya | 1 | 086235235 | L
(4 rows)
db_muzakki13650026=> select nim_mah, nama_mah from mahasiswa where nim_mah in (3
,2,5);
nim_mah | nama_mah
---------+----------
5 | rom
3 | jatno
2 | mugiono
(3 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah like'a%';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah like'__n%a' ;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select* from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(7 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah like'%g' ;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------------+--------
1 | wong | pasuruan | 1 | 08672536745 | L
(1 row)
db_muzakki13650026=> select * from mahasiswa where nama_mah like'__t%o' ;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
3 | jatno | madura | 1 | 0346567678545 | L
(1 row)
db_muzakki13650026=> select distinct id_fak from mahasiswa;
id_fak
--------
1
2
(2 rows)
db_muzakki13650026=> select distinct gender from mahasiswa;
gender
--------
L
P
(2 rows)
db_muzakki13650026=> select distinct alamat_mah from mahasiswa;
alamat_mah
------------
maling
madura
surabaya
kediri
pasuruan
malang
ponorogo
(7 rows)
db_muzakki13650026=> select* from pegawai limit 2;
ERROR: relation "pegawai" does not exist
LINE 1: select* from pegawai limit 2;
^
db_muzakki13650026=> select * from mahasiswa limit 2;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+--------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
(2 rows)
db_muzakki13650026=> select* from mahasiswa offset 5;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(2 rows)
db_muzakki13650026=> select* from mahasiswa offset 3;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
5 | rom | kediri | 1 | 034667646655 | L
7 | rus | maling | 1 | 077463894865 | P
3 | jatno | madura | 1 | 0346567678545 | L
2 | mugiono | surabaya | 1 | 086235235 | L
(4 rows)
db_muzakki13650026=> select * from mahasiswa limit 3;
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+--------------+--------
4 | luki | ponorogo | 2 | 82576568798 | P
6 | rim | malang | 2 | 073462847355 | P
1 | wong | pasuruan | 1 | 08672536745 | L
(3 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'a[rtd]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+---------------+--------
3 | jatno | madura | 1 | 0346567678545 | L
(1 row)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'a%[abcdefghijklmn
opqrst]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'r%[abcdefghijklmn
opqrst]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'r%[abcdefghijklmn
opqrs]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+-------+--------
(0 rows)
db_muzakki13650026=> select * from mahasiswa where nama_mah ~ 'r[abcdefghijklmno
pqrs]';
nim_mah | nama_mah | alamat_mah | id_fak | no_hp | gender
---------+----------+------------+--------+--------------+--------
6 | rim | malang | 2 | 073462847355 | P
5 | rom | kediri | 1 | 034667646655 | L
(2 rows)
db_muzakki13650026=> create table organ_dalam (nomor integer not null, nama varc
har (20));
CREATE TABLE
db_muzakki13650026=> create table organ_luar (nomor integer not null, nama varch
ar (20));
CREATE TABLE
db_muzakki13650026=> insert into organ_dalam values (1,'jantung');
INSERT 0 1
db_muzakki13650026=> insert into organ_dalam values (2,'paru-paru');
INSERT 0 1
db_muzakki13650026=> insert into organ_dalam values (3,'tenggorokan');
INSERT 0 1
db_muzakki13650026=> insert into organ_luar values (1,'hidung');
INSERT 0 1
db_muzakki13650026=> insert into organ_luar values (2,'mata');
INSERT 0 1
db_muzakki13650026=> insert into organ_luar values (3,'tenggorokan');
INSERT 0 1
db_muzakki13650026=> select nama from organ_dalam union select nama from organ_l
uar;
nama
-------------
tenggorokan
paru-paru
mata
hidung
jantung
(5 rows)
db_muzakki13650026=> select nama from organ_dalam exept select nama from organ_l
uar;
ERROR: syntax error at or near "select"
LINE 1: select nama from organ_dalam exept select nama from organ_lu...
^
db_muzakki13650026=> select nama from organ_dalam except select nama from organ_
luar;
nama
-----------
jantung
paru-paru
(2 rows)
db_muzakki13650026=> select nama from organ_dalam intersect select nama from org
an_luar;
nama
-------------
tenggorokan
(1 row)
db_muzakki13650026=>
use MySQL (SQLyog)
MySQL vs PostgreSQL
MySQL dan PostgreSQL itu sama, penulisan semu query-nya juga sama jadi tidak ada yang bisa saya bandingkan disini. Mungkin hanya dari tampilan atau beberapa karakter dan shortcut yang bisa kita bedakan. PostgreSQL misalnya kita bisa menekan tombol arrow-up ketika ingin memunculkan query yang telah kita tulis sebelumnya tentunya ini sangat memudahkan user tapi fitur ini tidak tersedia dalam MySQL (SQLyog).Tapi over all gue suka mySQL tampilan lebih keren dengan split screen database, result, dan query. walaupun PostgreSQL kayaknya lebih mencerminkan user yang high skill banget.
Kesimpulan
Ada 9 pengenalan dasar operator dalam PosgreSQL yang kita pelajari, untuk selengkapnya bisa scroll mouse ke atas. Sebenarnya ini cukup mudah dipelajari, mungkin hanya butuh sedikit hafalan dan kebiasaan untuk mengetikkan query. dan itu merupakan skill seorang user. Sedangkan skill itu tidak memerlukan kecerdasan, hanya memerlukan latihan dan membiasakan diri.Well then guys, sekian. 9 point itu dulu yang kita pelajari hari ini. semoga manfaat.
dan jangan lupa selipkan sedikit waktu untuk tertawa dalam kesibukan kalian... :D
Daftar Contekan
- Musthofa, Aziz. Modul Praktikum Desain Basis Data
- http://www.duniailkom.com/tutorial-mysql-menambahkan-data-ke-dalam-tabel-insert/
- http://blog.kotabatu.net/menambah-kolom-field-pada-database-mysql
Kan udah dibilang...
BalasHapusuntuk hasil praktikum harus ada gambarnya tiap soal...
bukan dibuat Scrol kayak gitu......
ini belum saya nilai, harap segera diganti format hasil praktikumnya....
Laporan berikutnya, Harap Dikasih Nomor dan soalnya jugaaa cak...
BalasHapus