Alhamdulillah pada kesempatan kali ini saya bisa menyelesaikan laporan praktikum ini. Mari kita simak dibawah ini.
Perintah/ query pada pengenalan operator dasar ini semuanya sama, hanya saja ada beberapa perbedaan dalam penampilan EXCEPT dan INTERSECT.
1. AS
AS dalam bahasa inggris artinya adalah "Sebagai", di dalam query 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 [Nama Kolom] AS [Nama Kolom Pengganti] FROM [Nama Tabel];.
2. AND dan OR
AND dan OR adalah lanjutan dari sintaks WHERE. Di mana pada materi sebelumnya kita menggunakan sintaks WHERE pada query yang sederhana. Berikut ini kita akan mencoba menggunakan WHERE untuk konteks yang lebih kompleks, query WHERE akan bekerja lebih baik menggunakan kata AND dan OR. SQL menggunakan standar logika Boolean Three-Valued Seperti pada tabel berikut :
Berikut adalah struktur query untuk penampilan data :
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] = ‘[PENCARIAN 1]’ AND [NAMA KOLOM] = ‘[PENCARIAN 2]’; Atau
SELECT * FROM [NAMA TABEL] WHERE [NAMA KOLOM] = ‘[PENCARIAN 1]’ OR [NAMA KOLOM] = ‘[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" identic dengan "a >= x AND a <= y"
- "a BETWEEN x AND y" identic dengan "a < x OR a > y"
Berikut Struktur Query yang digunakan :
SELECT * FROM [Nama Tabel] WHERE [Nama Kolom] BETWEEN '[Nilai Awal]' OR '[Nilai Akhir]';
4. LIKE
LIKE digunakan ketika kita ingin mencari sebuah data yang hanya diwakili oleh salah satu atau lebuh hurufnya saja. Misalkan kita ingin mencari nama yang huruf awalnya R, maka kita harus menggunakan LIKE.
Berikut Struktur SQL untuk pencarian menggunakan LIKE :
SELECT * FROM [Nama Tabel] WHERE [Nama Kolom] LIKE '[Operator]';
5. IN dan 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);
6. 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 SQL untuk DISTINCT
SELECT DISTINCT [Nama Kolom] FROM [Nama Tabel];
7. LIMIT
LIMIT dan OFFSET digunakan untuk membatasi jumlah output dari query berdasarkan jumlah row bukan karena kondisi seperti WHERE. Bisa dikatakan LIMIT adalah untuk menentukan jumlah baris yang akan ditampilkan yang dihitung dari baris pertama, sedangkan OFFSET digunakan untuk menghilangkan baris sesuai dengan jumlah yang diberikan pada OFFSET
Berikut Struktur SQL untuk LIMIT
SELECT * FROM [Nama Tabel] ORDER BY [Nama Kolom] LIMIT 2;
8. 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 :
Berikut struktur SQL untuk pencarian data menggunakan REGEXP :
select * from nama_tabel where nama_kolom ~ ‘operator_regexp dan patern’;
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;
HASIL PRAKTIKUM
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.
a. Tambahkan field yang bernama ‘gender’ pada tabel mahasiswa yang telah dibuat pada praktikum sebelumnya “ALTER TABLE mahasiswa ADD COLUMN “gender” varchar(1);”, serta isi datanya sesuai pada keterangan dari field lainnya “UPDATE mahasiswa SET gender=’L’ WHERE nama_mah=’luki’;”. Lalu tampilkan isi tabel mahasiswa “SELECT * FROM mahasiswa;”.
b. Kemudian insert data mahasiswa sampai 7 baris. Contoh salah satu querynya: “INSERT INTO mahasiswa VALUES (1, ‘wana’, ‘malang’, ‘088976567876’, 1, ‘P’);”. Strukturnya “INSERT INTO nama_tabel VALUES (nim_mah, ‘nama_mah’, ‘alamat_mah’, ‘no_telp’, id_fak, ‘gender’);”. Tampilkan tabel mahasiswa jika ingin mengeceknya.
1. 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.
“SELECT nim_mah as nomor_identitas, nama_mah as nama, alamat_mah as alamat, id_fak as id_fakultas, gender FROM mahasiswa;”.
2, Tampilkan data mahasiswa yang berjenis kelamin laki-laki.
“SELECT * FROM mahasiswa WHERE gender=’L’;”.
Tampilkan data mahasiswa yang ebrjenis kelamin laki-laki atau mahasiswa fakultas saintek. “SELECT * FROM mahasiswa WHERE gender=’L’ OR id_fak=1;”.
3. Pada tabel mahasiswa terdapat 7 baris, tampilkan yang bernomor 3-5 saja menggunakan BETWEEN.
“SELECT * FROM mahasiswa WHERE nim_mah BETWEEN 3 and 5;”.
Setelah itu kita tampilkan yang bukan nomor 3-5 menggunakan BETWEEN.
“SELECT * FROM mahasiswa WHERE nim_mah NOT BETWEEN 3 and 5;”
Lalu tampilkan yang bukan nomor 3-5 tanpa menggunakan BETWEEN.
“SELECT * FROM mahasiswa WHERE NOT (nim_mah >= 3 and nim_mah <= 5);”.
4. Tampilkan data mahasiswa yang bernomor 2,3,5 dengan menggunakan IN.
“SELECT * FROM mahasiswa WHERE nim_mah in (2,3,5);”.
5. Tampilkan data seluruh mahasiswa yang mempunyai nama huruf awalan a.
“SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘a%’;”.
6. Tampilkan seluruh data mahasiswa yang mempunyai nama huruf akhiran a dan huruf ketiga n.
“SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘__n%a’;”.
7. Tampilkan nomor fakultas di tabel mahasiswa dengan syarat nomor tidak ada yang sama.
“SELECT DISTINCT id_fak as nomor_fakultas FROM mahasiswa;”.
8. Tampilkan data mahasiswa 3 baris saja.
“SELECT * FROM mahasiswa LIMIT 3;”.
9. ampilkan data mahasiswa dengan ciri-ciri nama huruf awal a, dan huruf selanjutnya boleh r atau t atau d.
“SELECT * FROM mahasiswa WHERE nama_mah REGEXP ‘a[rtd]’; “.
10. Kita buat dua tabel yang bernama organ dalam dan organ luar.
untuk organ dalam :
“CREATE TABLE organ_dalam (nomor integer not null, nama varchar(15));”,
untuk organ luar :
“CREATE TABLE organ_luar (nomor integer not null, nama varchar(15));”.
Insert datanya sesuai yang ditentukan. Strukturnya “INSERT INTO nama_tabel VALUES (nomor, ‘nama’);”. Kemudian coba tampilkan kedua isi tabel.
Lalu kita lakukan perintah UNION “SELECT * FROM organ_dalam UNION SELECT * FROM organ_luar;”.
Kemudian untuk EXCEPT dan INTERSECT kita buat dua buah tabel lagi, akan tetapi hanya satu field/ kolom saja.
“CREATE TABLE organ_dalam2 (nama varchar(15));”
“CREATE TABLE organ_luar2 (nama varchar(15));”.
Lalu insert kan data yang sama seperti tabel organ dalam dan luar sebelumnya.
Untuk INTERSECT :
“SELECT * FROM organ_dalam2 WHERE nama IN (SELECT * FROM organ_luar2);”. Untuk EXCEPT :
“SELECT * FROM organ_dalam2 WHERE nama NOT IN (SELECT * FROM organ_luar2);”.
Evaluasi Perbandingan DBMS PostgreSQL dan MySQL
Dalam BAB kali ini kebanyakan semua perintahnya sama, hanya saja ada beberapa perbedaan dalam bagian REGEXP, dalam PostgreSQL menggunakan simbol (~), sedangkan dalam MySQL menggunakan (REGEXP).
Kemudian perbedaan dalam INTERSECT dan EXCEPT. Pada PostgreSQL tetap mengguanakan kata INTERSECT dan EXCEPT saat menjalankan operasinya, sedangkan dalam MySQL kedua menggunakan IN untuk INTERSECT dan NOT IN untuk EXCEPT.
Dalam PostgreSQL boleh berapapun kolomnya, namun dalam MySQL harus hanya ada 1 kolom.
MySQL lebih nyaman saat digunakan daripada PostgreSQL, apalagi saat menampilkan atau melakukan pencarian, didalam MySQL tidak menimbulkan efek ketika menggunakan huruf besar atau kecil, namun untuk PostgreSQL harus sesuai kriteria besar dan kecilnya huruf.
Kesimpulan, Kritik, Saran, dan Manfaat
Untuk pembahasan BAB kali ini cukup mudah, karena perintah dasar SQL dalam PostgreSQL dan MySQL terdapat kesamaan. Jadi, tidak butuh menghafalkan banyak kode untuk perbandingan dalam penerapan penggunaannya.
Sebaiknya kita terus berlatih dan mencoba agar terus menghafal perintah querynya, meski perintah dasarnya sama dan terdapat sedikit perbedaan
Daftar Pustaka
- Kadir Abdul (2000), Konsep & Tuntutan Praktis Basis Data. Yogyakarta. Andi.
- Sutanta Edhy (2011). Basis Data Dalam Tinjauan Konseptual. Yogyakarta. Andi
- Radit (2011). Operator Dasar SQL. From http://raditz21.blogspot.com/2011/10/pengenalan-operator-dasar-di-sql-shell.html, 13 Oktober 2014.
- Hindro H (2012). Media Pengetahuan Teknologi Informasi. From http://www.termasmedia.com, 13 Oktober 2014.
.
loading...
[…] PENGENALAN OPERATOR DASAR 13 Oktober 2014 […]
ReplyDelete[…] menggunakan kombinasi perintah order by dan limit yang telah di jelaskan pada bab sebelumnya ( baca : Pengenalan Operator Dasar Pada MYQSL). Hasilnya akan seperti pada gambar berikut […]
ReplyDelete