Yuhuuu.. Hai hai Sobat. Waktunya lapor lagi nih. Laporan Praktikum Desain Basis Data yang ke-4 ini, membahas tentang “Pengenalan Operator Dasar”. Are you redy?? Langsung aja yah, cekidot..
Dasar Teori
Operator AS
Operator ini, biasa digunakan untuk nampilin label kolom dengan nama lain yang kita inginkan sehingga yang akan muncul dalam hasil query bukan nama asli kolom. Berikut sintaksnya:SELECT nama_kolom AS namaKolom_pengganti FROM nama_tabel;
Operator AND
Operator
ini dipake buat nampilin data yang lebih akurat . Dengan operator AND, data
yang ditampilin Cuma data yang memenuhi kedua syarat yang ditentukan. Nih sintaksnya
:
SELECT
* FROM nama_tabel WHERE nama_kolom1= kata_kunci1 AND nama_kolom2 = kata_kunci2;
Operator OR
Fungsi
operator OR mirip dengan operator AND, kalau operator AND nampilin data yang
harus memenuhi kedua syarat yang ditentukan, operator OR bisa nampilin data
yang hanya memenuhi salah satu dari kedua syarat yang ditentukan. Sintaksnya:
SELECT
* FROM nama_tabel WHERE nama_kolom1= kata_kunci1 OR nama_kolom2 = kata_kunci2;
Operator BETWEEN
Dalam
operator ini, terjadi pembatasan pada data yang mau ditampilin. Data diberi
batasan pada nilai terendah dan tertinggi. Berikut Sob, sintaksnya :
SELECT
* FROM nama_tabel WHERE nama_kolom BETWEEN nilai_awal AND nilai_akhir;
Operator 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, ....); Operator LIKE
Operator
LIKE menggunakan mode pencarian berdasarkan huruf awal atau huruf akhir atau
kombinasi dari keduanya dari data yang ingin ditampilin. Neh sintaksnya:
SELECT
* FROM nama_tabel WHERE nama_kolom LIKE ‘operator’;
Operator DISTINCT
Operator
DISTINCT ini digunakan buat nampilin data tanpa duplikasi pada suatu kolom. Jika
terdapat duplikasi data maka yang ditampilin cuma satu data saja Sob. Sintaknya
adalah:
SELECT
DISTINCT nama_kolom FROM nama_tabel;
Operator LIMIT
Kegunaan
operator LIMIT terletak pada pembatasan jumlah data yang mau ditampilin. Contoh
nih, kalau kita cuma pingin nampilin 3 data pada suatu tabel, maka hanya 3 data
terataslah yang bakal ditampilin. Sintaksnya seperti ini nih:
SELECT
* FROM nama_tabel ORDER BY nama_kolom LIMIT jumlah_data;
Operator OFFSET
Kalau
operator LIMIT membatasi jumlah data yang ditampilkan, operator OFFSET ini
adalah kebalikannya Sob. Dia akan menghilangkan jumlah data yang akan
ditampilkan dan menampilkan sisa dari data yang dihilangkan (hahah.. bingung
dah loh). Kayak gini nih sintaksnya:
SELECT
* FROM nama_tabel ORDER BY nama_kolom OFFSET jumlah_data;
REGEXP
Regular Expression atau Regex, merupakan sebuah teknik
atau cara untuk mencari persamaan-persamaan string atau data dan
memanipulasinya. Biasanya lebih sering digunakan untuk string. Didalam PostgreSQL
disimbolkan dengan “~”.
Berikut struktur SQL untuk pencarian data menggunakan
REGEXP :
SELECT
* FROM nama_tabel WHERE nama_kolom ~ ‘operator_regexp dan patern’;
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;
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 INTERSECT SELECT nama_kolom FROM nama_tabel;
Biar
lebih paham lagi, Sobat bisa liat langsung contoh materi ini pada hasil
praktikum berikut.
Hasil Praktikum
Berikut Ini hasil praktikum yang pake PostgreSQL Sob. Boleh dicoba..
Server [localhost]:
Database [postgres]: permata13650083
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.3.5)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
permata13650083=# select * from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp
---------+----------+------------+--------+--------------
14 | Luki | Ponorogo | 2 | 082576568725
(1 row)
permata13650083=# select * from fakultas;
id_fak | nama_fak
--------+-----------
2 | PSIKOLOGI
(1 row)
permata13650083=# select * from fakultas;
id_fak | nama_fak
--------+-----------
2 | PSIKOLOGI
1 | SAINTEK
(2 rows)
permata13650083=# alter table mahasiswa add column gender char;
ALTER TABLE
permata13650083=# select * from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
14 | Luki | Ponorogo | 2 | 082576568725 |
(1 row)
permata13650083=# insert into fakultas values (1, 'SAINTEK');
INSERT 0 1
permata13650083=# update mahasiswa set gender='L', nim_mah=1 where nim_mah=14;
UPDATE 1
permata13650083=# select * from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
(1 row)
permata13650083=# insert into mahasiswa values (2, 'Affan', 'Surabaya', 1, '0856
77854321', 'L'), (3, 'Melly', 'Yogyakarta', 1, '081233476588', 'P'), (4, 'Hari',
'Solo', 2, '085776889521', 'L'), (5, 'Sinta', 'Jakarta', 1, '085233456789', 'P'
), (6, 'Ana', 'Malang', 2, '082547766543', 'P'), (7, 'Fandi', 'Jombang', 1, '081
234576980', 'L');
INSERT 0 6
permata13650083=# select * from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
3 | Melly | Yogyakarta | 1 | 081233476588 | P
4 | Hari | Solo | 2 | 085776889521 | L
5 | Sinta | Jakarta | 1 | 085233456789 | P
6 | Ana | Malang | 2 | 082547766543 | P
7 | Fandi | Jombang | 1 | 081234576980 | L
(7 rows)
permata13650083=# select nim_mah as nomor_identitas, nama_mah as nama, alamat_ma
h as alamat, nama_fak as nama_fakultas from mahasiswa, fakultas where mahasiswa.
id_fak=fakultas.id_fak;
nomor_identitas | nama | alamat | nama_fakultas
-----------------+-------+------------+---------------
1 | Luki | Ponorogo | PSIKOLOGI
2 | Affan | Surabaya | SAINTEK
3 | Melly | Yogyakarta | SAINTEK
4 | Hari | Solo | PSIKOLOGI
5 | Sinta | Jakarta | SAINTEK
6 | Ana | Malang | PSIKOLOGI
7 | Fandi | Jombang | SAINTEK
(7 rows)
permata13650083=# select * from mahasiswa where id_fak=1 and gender='L';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
2 | Affan | Surabaya | 1 | 085677854321 | L
7 | Fandi | Jombang | 1 | 081234576980 | L
(2 rows)
permata13650083=# select * from mahasiswa where id_fak=1 or gender='L';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
3 | Melly | Yogyakarta | 1 | 081233476588 | P
4 | Hari | Solo | 2 | 085776889521 | L
5 | Sinta | Jakarta | 1 | 085233456789 | P
7 | Fandi | Jombang | 1 | 081234576980 | L
(6 rows)
permata13650083=# select * from mahasiswa where nim_mah between 3 and 5;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
3 | Melly | Yogyakarta | 1 | 081233476588 | P
4 | Hari | Solo | 2 | 085776889521 | L
5 | Sinta | Jakarta | 1 | 085233456789 | P
(3 rows)
permata13650083=# select * from mahasiswa where nim_mah>= 3 and nim_mah<=5;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
3 | Melly | Yogyakarta | 1 | 081233476588 | P
4 | Hari | Solo | 2 | 085776889521 | L
5 | Sinta | Jakarta | 1 | 085233456789 | P
(3 rows)
permata13650083=# select * from mahasiswa where nim_mah not between 3 and 5;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
6 | Ana | Malang | 2 | 082547766543 | P
7 | Fandi | Jombang | 1 | 081234576980 | L
(4 rows)
permata13650083=# select * from mahasiswa where nim_mah<3 or nim_mah>5;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
6 | Ana | Malang | 2 | 082547766543 | P
7 | Fandi | Jombang | 1 | 081234576980 | L
(4 rows)
permata13650083=# select * from mahasiswa where nim_mah in (2,3,5);
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
2 | Affan | Surabaya | 1 | 085677854321 | L
3 | Melly | Yogyakarta | 1 | 081233476588 | P
5 | Sinta | Jakarta | 1 | 085233456789 | P
(3 rows)
permata13650083=# select * from mahasiswa where nama_mah like 'A%';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
2 | Affan | Surabaya | 1 | 085677854321 | L
6 | Ana | Malang | 2 | 082547766543 | P
(2 rows)
permata13650083=# select * from mahasiswa where nama_mah like 'A%' and nama_mah
like '__n';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+---------+--------
(0 rows)
permata13650083=# select distinct id_fak from mahasiswa;
id_fak
--------
2
1
(2 rows)
permata13650083=# select * from mahasiswa limit 3;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
3 | Melly | Yogyakarta | 1 | 081233476588 | P
(3 rows)
permata13650083=# select * from mahasiswa where nama_mah ~ 'A[rtd]';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+---------+--------
(0 rows)
permata13650083=# select * from mahasiswa where nama_mah ~ 'A[rfn]';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
2 | Affan | Surabaya | 1 | 085677854321 | L
6 | Ana | Malang | 2 | 082547766543 | P
(2 rows)
permata13650083=# create table organ_dalam (nomor integer not null, nama varchar
(20));
CREATE TABLE
permata13650083=# insert into organ_dalam values (1, 'Jantung'), (2, 'Paru-paru'
), (3, 'Tenggorokan');
INSERT 0 3
permata13650083=# select * from organ_dalam;
nomor | nama
-------+-------------
1 | Jantung
2 | Paru-paru
3 | Tenggorokan
(3 rows)
permata13650083=# create table organ_luar (nomor integer not null, nama varchar(
20));
CREATE TABLE
permata13650083=# insert into organ_luar values (1, 'Hidung'), (2, 'Mata'), (3,
'Tenggorokan');
INSERT 0 3
permata13650083=# select * from organ_luar;
nomor | nama
-------+-------------
1 | Hidung
2 | Mata
3 | Tenggorokan
(3 rows)
permata13650083=# select * from organ_dalam union select * from organ_luar;
nomor | nama
-------+-------------
2 | Paru-paru
3 | Tenggorokan
1 | Hidung
2 | Mata
1 | Jantung
(5 rows)
permata13650083=# select * from organ_dalam except select * from organ_luar;
nomor | nama
-------+-----------
1 | Jantung
2 | Paru-paru
(2 rows)
permata13650083=# select * from organ_dalam intersect select * from organ_luar;
nomor | nama
-------+-------------
3 | Tenggorokan
(1 row)
permata13650083=#
Database [postgres]: permata13650083
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.3.5)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
permata13650083=# select * from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp
---------+----------+------------+--------+--------------
14 | Luki | Ponorogo | 2 | 082576568725
(1 row)
permata13650083=# select * from fakultas;
id_fak | nama_fak
--------+-----------
2 | PSIKOLOGI
(1 row)
permata13650083=# select * from fakultas;
id_fak | nama_fak
--------+-----------
2 | PSIKOLOGI
1 | SAINTEK
(2 rows)
permata13650083=# alter table mahasiswa add column gender char;
ALTER TABLE
permata13650083=# select * from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
14 | Luki | Ponorogo | 2 | 082576568725 |
(1 row)
permata13650083=# insert into fakultas values (1, 'SAINTEK');
INSERT 0 1
permata13650083=# update mahasiswa set gender='L', nim_mah=1 where nim_mah=14;
UPDATE 1
permata13650083=# select * from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
(1 row)
permata13650083=# insert into mahasiswa values (2, 'Affan', 'Surabaya', 1, '0856
77854321', 'L'), (3, 'Melly', 'Yogyakarta', 1, '081233476588', 'P'), (4, 'Hari',
'Solo', 2, '085776889521', 'L'), (5, 'Sinta', 'Jakarta', 1, '085233456789', 'P'
), (6, 'Ana', 'Malang', 2, '082547766543', 'P'), (7, 'Fandi', 'Jombang', 1, '081
234576980', 'L');
INSERT 0 6
permata13650083=# select * from mahasiswa;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
3 | Melly | Yogyakarta | 1 | 081233476588 | P
4 | Hari | Solo | 2 | 085776889521 | L
5 | Sinta | Jakarta | 1 | 085233456789 | P
6 | Ana | Malang | 2 | 082547766543 | P
7 | Fandi | Jombang | 1 | 081234576980 | L
(7 rows)
permata13650083=# select nim_mah as nomor_identitas, nama_mah as nama, alamat_ma
h as alamat, nama_fak as nama_fakultas from mahasiswa, fakultas where mahasiswa.
id_fak=fakultas.id_fak;
nomor_identitas | nama | alamat | nama_fakultas
-----------------+-------+------------+---------------
1 | Luki | Ponorogo | PSIKOLOGI
2 | Affan | Surabaya | SAINTEK
3 | Melly | Yogyakarta | SAINTEK
4 | Hari | Solo | PSIKOLOGI
5 | Sinta | Jakarta | SAINTEK
6 | Ana | Malang | PSIKOLOGI
7 | Fandi | Jombang | SAINTEK
(7 rows)
permata13650083=# select * from mahasiswa where id_fak=1 and gender='L';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
2 | Affan | Surabaya | 1 | 085677854321 | L
7 | Fandi | Jombang | 1 | 081234576980 | L
(2 rows)
permata13650083=# select * from mahasiswa where id_fak=1 or gender='L';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
3 | Melly | Yogyakarta | 1 | 081233476588 | P
4 | Hari | Solo | 2 | 085776889521 | L
5 | Sinta | Jakarta | 1 | 085233456789 | P
7 | Fandi | Jombang | 1 | 081234576980 | L
(6 rows)
permata13650083=# select * from mahasiswa where nim_mah between 3 and 5;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
3 | Melly | Yogyakarta | 1 | 081233476588 | P
4 | Hari | Solo | 2 | 085776889521 | L
5 | Sinta | Jakarta | 1 | 085233456789 | P
(3 rows)
permata13650083=# select * from mahasiswa where nim_mah>= 3 and nim_mah<=5;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
3 | Melly | Yogyakarta | 1 | 081233476588 | P
4 | Hari | Solo | 2 | 085776889521 | L
5 | Sinta | Jakarta | 1 | 085233456789 | P
(3 rows)
permata13650083=# select * from mahasiswa where nim_mah not between 3 and 5;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
6 | Ana | Malang | 2 | 082547766543 | P
7 | Fandi | Jombang | 1 | 081234576980 | L
(4 rows)
permata13650083=# select * from mahasiswa where nim_mah<3 or nim_mah>5;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
6 | Ana | Malang | 2 | 082547766543 | P
7 | Fandi | Jombang | 1 | 081234576980 | L
(4 rows)
permata13650083=# select * from mahasiswa where nim_mah in (2,3,5);
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
2 | Affan | Surabaya | 1 | 085677854321 | L
3 | Melly | Yogyakarta | 1 | 081233476588 | P
5 | Sinta | Jakarta | 1 | 085233456789 | P
(3 rows)
permata13650083=# select * from mahasiswa where nama_mah like 'A%';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
2 | Affan | Surabaya | 1 | 085677854321 | L
6 | Ana | Malang | 2 | 082547766543 | P
(2 rows)
permata13650083=# select * from mahasiswa where nama_mah like 'A%' and nama_mah
like '__n';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+---------+--------
(0 rows)
permata13650083=# select distinct id_fak from mahasiswa;
id_fak
--------
2
1
(2 rows)
permata13650083=# select * from mahasiswa limit 3;
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
1 | Luki | Ponorogo | 2 | 082576568725 | L
2 | Affan | Surabaya | 1 | 085677854321 | L
3 | Melly | Yogyakarta | 1 | 081233476588 | P
(3 rows)
permata13650083=# select * from mahasiswa where nama_mah ~ 'A[rtd]';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+---------+--------
(0 rows)
permata13650083=# select * from mahasiswa where nama_mah ~ 'A[rfn]';
nim_mah | nama_mah | alamat_mah | id_fak | no_telp | gender
---------+----------+------------+--------+--------------+--------
2 | Affan | Surabaya | 1 | 085677854321 | L
6 | Ana | Malang | 2 | 082547766543 | P
(2 rows)
permata13650083=# create table organ_dalam (nomor integer not null, nama varchar
(20));
CREATE TABLE
permata13650083=# insert into organ_dalam values (1, 'Jantung'), (2, 'Paru-paru'
), (3, 'Tenggorokan');
INSERT 0 3
permata13650083=# select * from organ_dalam;
nomor | nama
-------+-------------
1 | Jantung
2 | Paru-paru
3 | Tenggorokan
(3 rows)
permata13650083=# create table organ_luar (nomor integer not null, nama varchar(
20));
CREATE TABLE
permata13650083=# insert into organ_luar values (1, 'Hidung'), (2, 'Mata'), (3,
'Tenggorokan');
INSERT 0 3
permata13650083=# select * from organ_luar;
nomor | nama
-------+-------------
1 | Hidung
2 | Mata
3 | Tenggorokan
(3 rows)
permata13650083=# select * from organ_dalam union select * from organ_luar;
nomor | nama
-------+-------------
2 | Paru-paru
3 | Tenggorokan
1 | Hidung
2 | Mata
1 | Jantung
(5 rows)
permata13650083=# select * from organ_dalam except select * from organ_luar;
nomor | nama
-------+-----------
1 | Jantung
2 | Paru-paru
(2 rows)
permata13650083=# select * from organ_dalam intersect select * from organ_luar;
nomor | nama
-------+-------------
3 | Tenggorokan
(1 row)
permata13650083=#
Nah, sekarang kita coba pake MySQL.
Persiapan praktek: Gunakan tabel mahasiswa dan
fakultas pada pertemuan 3. Tambahkan kolom gender di tabel mahasiswa kemudian
update data mahasiswa. Insert data mahasiswa hingga 7 baris.
>>
Login dan konek dulu ke database yang akan digunakan.
>> Data tabel mahasiswa (pertemuan 3)
>> Data tabel fakultas (pertemuan 3)
>> Tambahkan kolom gender pada tabel mahasiswa
>> Update tabel mahasiswa
>> Insert tabel mahasiswa
Berdasarkan tabel sebelumnya
yaitu bab 3, tampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi
nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom
secara permanen.
>> Mengubah tampilan nama kolom menggunakan AS
>> Mengubah tampilan nama kolom menggunakan AS
>> Menampilkan mahasiswa laki-laki fakultas saintek menggunakan AND
>>Menampilkan mahasiswa fakultas Saintek atau mahasiswa yang berjenis kelamin laki-laki menggunakan OR
Suatu tabel mahasiswa terdapat 7 baris data
mahasiswa. Tampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian
tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5
menggunakan between dan tanpa menggunakan between.
>> Menampilkan data mahasiswa dengan NIM 3 sampai 5 menggunakan BETWEEN dan menggunakan operator biasa.
>> Menampilkan data mahasiswa dengan NIM 3 sampai 5 menggunakan BETWEEN dan menggunakan operator biasa.
>> Menampilkan data mahasiswa selain NIM 3 sampai 5 menggunakan NOT BETWEEN dan menggunakan operator biasa.
>> Menampilkan mahasiswa yang mempunyai NIM 2, 3, dan 5 menggunakan IN
>> Menampilkan mahasiswa yang namanya diawali dengan huruf A menggunakan LIKE
>> Menampilkan mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 “n” dengan kombinasi operator AND dan LIKE.
>> Menampilkan nomor fakultas di tabel mahasiswa tanpa pengulangan data menggunakan DISTINCT.
Tampilkan data mahasiswa 3
baris saja.
>> Menampilkan data 3 baris mahasiswa dengan menggunakan LIMIT.
>> Menampilkan data 3 baris mahasiswa dengan menggunakan LIMIT.
Tampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a
kemudian kata selanjutnya boleh r atau boleh t atau boleh d. misalkan yang
memenuhi kriteria ciri tersebut seperti adi, atik, arif, adam dll.
*Boleh dengan awalan dan ciri yang lain namun karakteristiknya harus sesuai soal
>> Menampilkan data mahasiswa dengan yang namanya memilki awalan "A" dan huruf selanjutnya r, n, atau f menggunakan REGEXP.
Buatlah tabel dengan nama
organ_dalam dan organ_luar sebagai berikut :
Tabel organ_dalam
Nomor
|
Nama
|
1
|
Jantung
|
2
|
Paru-paru
|
3
|
Tenggorokan
|
Tabel
organ_luar
Nomor
|
Nama
|
1
|
Hidung
|
2
|
Mata
|
3
|
Tenggorokan
|
>> Membuat tabel organ_dalam
>> Membuat tabel organ_luar
>> Menampilkan data (UNION)
>> Menampilkan data (INTERSECT)
>> Menampilkan data (EXCEPT)
Evaluasi Perbedaan DBMS PostgreSQL dan MySQL
Dari
praktikum ini, didapatkan beberapa perbedaan dalam penggunaan DBMS PostgreSQL
dan MySQL. Diantaranya adalah sebagai berikut:
Kategori Perbedaan
|
PostgreSQL
|
MySQL
|
REGEXP
|
SELECT
* FROM nama_tabel WHERE nama_kolom ~ ‘operator_regexp dan patern’;
|
SELECT
* FROM nama_tabel WHERE nama_kolom REGEXP ‘operator_regexp dan patern’;
|
Except
|
select
nama_kolom from nama_tabel except select nama_kolom from nama_tabel;
|
Pada
MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan
operator NOT IN seperti contoh 2 pada bagian Nested Queries.
|
Intersect
|
select
nama_kolom from nama_tabel intersect select nama_kolom from nama_tabel;
|
Tidak
terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan operator
IN
|
Pekerjaan Rumah
Tugas rumah kali ini adalah
menjelaskan evaluasi dari DBMS MySQL dan PostgreSQL berdasarkan tugas praktikum
yang meliputi perbedaan atau kesamaan, kelebihan atau kekurangan.
Oke.. Ternyata ada beberapa
perbedaan Sob, antara operator PostgreSQL dan MySQL, seperti yang udah
dijelaskan diatas. Biar lebih jelas lagi, simak nih yang berikut:
REGEXP
Tampilkan data mahasiswa dengan
ciri-ciri memiliki nama awalan A kemudian kata selanjutnya boleh r atau boleh t
atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik,
arif, adam dll.
*Boleh dengan awalan dan ciri
yang lain namun karakteristiknya harus sesuai soal
REGEXP pada PostgreSQL |
REGEXP padaMySQL |
REGEXP pada PostgreSQL
menggunakan simbol “~”, sedangkan pada MySQL tetap menggunakan istilah
“REGEXP”. Selain itu, untuk mencari nama mahasiswa yang awalnya A, pada MySQL
harus diawali dengan tanda “^” sedangkan pada PostgeSQL tidak.
Except
Tampilkan
data dari dua tabel menggunakan EXCEPT.
EXCEPT pada PostgreSQL |
EXCEPT pada MySQL |
Except pada PostgreSQL
menggunakan istilah “EXCEPT”, sedangkan pada MySQL tidak terdapat operator
EXCEPT, tetapi dapat diganti dengan menggunakan “NOT IN”.
Intersect
Tampilkan
data dari dua tabel menggunakan INTERSECT.
INTERSECT pada PostgreSQL |
INTERSECT pada MySQL |
Intersect pada PostgreSQL
menggunakan istilah “INTERSECT”, sedangkan pada MySQL tidak terdapat operator INTERSECT,
tetapi dapat diganti dengan menggunakan “IN”.
Itu tadi adalah perbedaannya. Untuk selebihnya, sama. Mengenai kelebihan dan kekurangannya, ana rasa sama saja, bergantung si pemakai lebih suka pake PostgreSQL atau MySQL.
Itu tadi adalah perbedaannya. Untuk selebihnya, sama. Mengenai kelebihan dan kekurangannya, ana rasa sama saja, bergantung si pemakai lebih suka pake PostgreSQL atau MySQL.
Kesimpulan
Dari
hasil praktikum “Pengenalan Operator Dasar” ini dapa disimpulkan bahwa
penggunaan operator pada SQL dapat mempermudah pengaksesan dan pencarian data.
Berikut adalah macamnya:
AS
SELECT
nama_kolom AS namaKolom_pengganti FROM nama_tabel;
AND
SELECT
* FROM nama_tabel WHERE nama_kolom1= kata_kunci1 AND nama_kolom2 = kata_kunci2;
OR
SELECT
* FROM nama_tabel WHERE nama_kolom1= kata_kunci1 OR nama_kolom2 = kata_kunci2;
BETWEEN
SELECT
* FROM nama_tabel WHERE nama_kolom BETWEEN nilai_awal AND nilai_akhir;
IN
Select
* from nama_tabel where nama_kolom in (kata_kunci1, kata_kunci2, kata_kunci13,
kata_kunci14);
LIKE
SELECT
* FROM nama_tabel WHERE nama_kolom LIKE ‘operator’;
DISTINCT
SELECT
DISTINCT nama_kolom FROM nama_tabel;
LIMIT
SELECT
* FROM nama_tabel ORDER BY nama_kolom LIMIT jumlah_data;
OFFSET
SELECT
* FROM nama_tabel ORDER BY nama_kolom OFFSET jumlah_data;
REGEXP
SELECT
* FROM nama_tabel WHERE nama_kolom ~ ‘operator_regexp dan patern’;
UNION
SELECT
nama_kolom FROM nama_tabel UNION SELECT nama_kolom FROM nama_tabel;
EXCEPT
SELECT
nama_kolom FROM nama_tabel EXCEPT SELECT nama_kolom FROM nama_tabel;
INTERSECT
SELECT
nama_kolom FROM nama_tabel INTERSECT SELECT nama_kolom FROM nama_tabel;
Sekian dulu yaa, laporan praktikum Desain Basis Datanya. Semoga bermanfaat Sob.
Referensi:
Utami,
Ema, Sukrisno. 2008. “Mengoptimalkan Query pada MYSQL Server: Creating Report
Without Programing. Yogyakarta: ANDI.
Modul
Praktikum Desain Basis Data.
http://lukluulmarjan.blogspot.com/2013/05/operator-dasar-sql.html.
http://uyunoshigoto.wordpress.com/2012/12/29/pengenalan-sql/html.
0 komentar:
Posting Komentar