Modul 4 - Pengenalan Operasi Dasar

Pada kesempatan kali ini saya akan membahas tentang Pengenalan Operasi Dasar, yang mana ini adalah lanjutan dari praktikum minggu kemarin. Sebelumnya, kita harus mengetahui apa itu Operator? Operator dalam SQL adalah simbol yang digunakan untuk mengatur pada sebuah SQL. ada terdapat beberapa operator dalam SQL, seperti operator pembanding, operator logika dan lain sebagainya.

AS (alias)
AS atau 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; 

OPERATOR LOGIKA
Ada tiga Operator Logika yaitu AND, OR, dan NOT. Operator ini membandingkan dua kondisi pada suatu waktu untuk menentukan apakah berturut-turut dapat dipilih untuk output. Ketika mengambil data menggunakan pernyataan SELECT, Anda dapat menggunakan operator logika dalam klausa WHERE, yang memungkinkan Anda untuk menggabungkan lebih dari satu kondisi.
AND
 
Jika ingin memilih baris yang harus memenuhi semua kondisi yang diberikan, kita dapat menggunakan operator logis, AND.

SELECT * FROM namatabel WHERE syarat1 AND syarat2 AND syarat3 . . . ;
OR
 
Jika ingin memilih baris yang memenuhi setidaknya satu dari kondisi yang diberikan, kita dapat menggunakan operator logis, OR.

SELECT * FROM namatabel WHERE syarat1 OR syarat2 OR syarat3 . . . ;
NOT
 
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’;

BETWEEN

Sama dengan AND dan OR, BETWEEN juga salah satu operasi perbandingan pada perintah SELECT. BETWEEN ini digunakan untuk menentukan lebar dari data yang akan di tampilkan. Dimulai dati data terendah yang akan di tampilkan sampai data yang paling tinggi untuk di tampilkan. 

SELECT * FROM nama_tabel WHERE nama_kolom BETWEEN ‘nilai_awal’ AND ‘nilai_akhir’; SELECT * FROM nama_tabel WHERE nama_kolom ‘nilai_awal’>= AND <=‘nilai_akhir’; 

Untuk menampilkan data diantara di luar operator BETWEEN menggunakan query sebagai berikut:
SELECT * FROM nama_tabel WHERE nama_kolom NOT BETWEEN ‘nilai_awal’ AND ‘nilai_akhir’; SELECT * FROM nama_tabel WHERE nama_kolom ‘nilai_awal’>= OR <=‘nilai_akhir’;

IN dan NOT IN

Operator IN juga merupakan salah satu operator yang bisa di gunakan pada perintah SELECT. Operator IN ini berguna melakukan pencocokan dengan salah satu yang ada pada suatu daftar nilai. Berikut Struktur yang digunakan
SELECT * FROM namatabel WHERE namakolom IN (katakunci1, katakunci2, katakunci13, katakunci14);

LIKE

Operator LIKE digunakan untuk menampilkan semua baris dalam tabel yang nilai kolom cocok dengan pola tertentu. Hal ini berguna bila Anda ingin baris untuk mencocokkan pola tertentu mencari, atau ketika Anda tidak tahu seluruh nilai. Untuk tujuan ini kita menggunakan karakter wildcard '%'.
select * from nama_tabel where nama_kolom like ‘operator’;


REGEXP

Regular Expression atau REGEXP adalah kumpulan huruf atau karakter yang digunakan untuk pencocokan pola (pattern matching). Pola disini contohnya ‘pola untuk kata yang diawali dengan huruf a dan diakhiri dengan huruf j’, atau yang sedikit rumit seperti ‘pola untuk kata yang diawali huruf a,b, c dengan panjang maksimal 5 huruf, mengandung minimal sebuah angka’. Cakupan REGEXP cukup luas, masih banyak sekali operator REGEXP yang bisa digunakan.
select * from nama_tabel where nama_kolom ~ ‘operator_regexp dan patern’;


DISTINCT

Query DISTINCT digunakan untuk memanipulasi tampilan hasil dari tabel. Denagn menggunakan query DISTINCT duplikasi akan dihapus untuk ditampilkan datanya, ini bukan tabel asli dari MySQL. adi DISTINCT ini digunakan untuk menampilkan data tunggal yang tidak ada duplikasinya.
SELECT DISTINCT namakolom FROM namatabel ;


LIMIT

LIMIT digunakan untuk membatasi data yang ingin di tampilkan.
SELECT * FROM namatabel LIMIT jumlahbaris;


UNION, INTERSECT, EXCEPT

Perintah UNION dalam MySQL di gunakan untuk menggabungkan/mengkombinasikan isi dari dua tabel menjadi satu. Sama seperti artinya INTERSECT ini di gunakan untuk mencari irisan pada dua atau lebih tabel. Kemudian perintah yang terakhir yaitu EXCEPT, EXCEPT ini di vgunakan untuk memunculkan isi tabel yang berada di luar irisan tabel. Berikut query dasar yang bisa di gunakan untuk menggunakan perintah tersebut.
UNIONSELECT * FROM namatabel1 UNION SELECT * FROM namatabel2 ;
INTERSECTSELECT * FROM namatabel1 WHERE syarat1 IN (SELECT * FROM namatabel2) ;
EXCEPTSELECT * FROM namatabel1 WHERE syarat1 NOT IN (SELECT * FROM namatabel2) ;


TUGAS PRAKTIKUM

Setelah kita mempelajari teori di atas, alangkah sebaiknya kita mempraktekkan agar kita tahu dan mengerti. Pada postingan kemarin, saya telah membuat 2 tabel yaitu fakultal dan mahasiswa. jadi nanti saya menggunakan kedua tabel itu untuk mempraktekkan disini. Dan untuk mempraktekkannya saya menggunakan MySQL.

1. AS
Berdasarkan tabel yang telah kita buat sebelumnya, menampilkan 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, nama_fak as nama_fakultas from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
2. AND dan OR
 Menampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki.
select * from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak and gender=’L';
 Menampilkan nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki.
select * from mahasiswa where id_fak=1 or gender=’L';
 3. BETWEEN
menampilkan data mahasiswa dari nomor 3 sampai nomor 5
select*from mahasiswa where nim_mah between 3 and 5;
menampilkan data mahasiswa yang bukan dari nomor 3 sampai dengan 5
select*from mahasiswa where nim_mah not between 3 and 5;
 4. IN
Menampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.

select*from mahasiswa where nim_mah in (2, 3, 5);
5. LIKE
Menampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
select*from mahasiswa where nama_mah like ‘a%';
Menampilkan semua data mahasiswa yang namanya mempunyai akhiran “a”
select*from mahasiswa where nama_mah like ‘%a'; 
 Menampilkan semua data mahasiswa yang namanya terdapat huruf  “n” pada huruf ketiga dan mempunyai akhiran “a”
select*from mahasiswa where nama_mah like ‘__n%a'; 
6. DISTINCT
Menampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
select distinct id_fak from mahasiswa;
7. LIMIT
Menampilkan data mahasiswa 3 baris
select * from mahasiswa limit 3;
8. REGEXP 
Menampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh b atau boleh m atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti abi, amik, adik, adam dll. Gunakan operator REGEXP untuk menyelesaikan soal tersebut.
 select * from mahasiswa where nama_mah 's[ai]';
9. UNION, INTERSECT dan EXCEPT
Sebelum menjalankan perintah UNION, INTERSECT dan EXCEPT, buat dulu tabel baru dengan nama organ_dalam dan organ_luar. Dengan nama kolom nomor dan nama, kemudian pada organ_dalam isi tabel dengan (1, jantung), (2, paru-paru), (3, tenggorokan) kemudian pada tabel organ luar isi tabel dengan (1, hidung), (2, mata), (3, tenggorokan). Setelah modifikasi tabel tersebut dengan perintah UNION, INTERSECT dan EXCEPT
select * from organ_dalam union select * from organ_luar;
select * from organ_dalam not in select * from organ_luar; (except)
select * from organ_dalam in select * from organ_luar; (INTERSECT)
PERBEDAAN
Berbedaan query pada PostgreSQL dan MySQL 

  • operator REGEXP

dalam operator REGEXP, pada PostgreSQL, REGREXP query awalnya dituliskan dengan simbol ~, tapi pada MySQL, REGREXP querynya langsung ditulis tanpa menggunakan simbol ~

  • INTERSECT dan EXCEPT
Pada perintah INTERSECT dan EXCEPT terdapat perbedaan yang sangat mencolok, apabila pada PostgreSQL disediakan sendiri perintah INTERSECT dan EXCEPT, tetapi jika di MySQL perintah INTERSECT dan EXCEPT tidak di sediakan. Jadi untuk mendapatkan perintah ini kita bisa menggunakan operator IN untuk INTERSECT dan NOT IN untuk EXCEPT.

KESIMPULAN
Sebenarnya PostgreSQL atau MySQL sebenarnya sama, semua query juga hampir sama. Namun ada beberapa yang berbeda, berbeda pun juga tidak banyak, seperti operator REGEXPINTERSECT dan EXCEPT.

0 komentar