#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.
#AND dan 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.
#BETWEEN BETWEEN digunakan untuk menentukan lebar nilai dari nilai terendah dan nilai tertinggi. Pada BETWEEN menggunakan operator pembanding seperti pada tabel berikut :
#IN dan NOT IN Operator IN berguna melakukan pencocokan dengan salah satu yang ada pada suatu daftar nilai.
#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 :
#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 :
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 :
#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.
#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.
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.
#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. EXCEPT digunakan untuk menampilkan hanya query pertama saja, sedangkan hasil query kedua dan yang sama dengan hasil query kedua tidak akan ditampilkan. Perintah INTERSECT hanya akan menampilkan seluruh isi dari data yang memiliki kesaman diantara hasil kedua query tersebut.
Di bawah ini adalah soal praktikum yang akan di jelaskan pada laporan praktikum keempat ini
Persiapan praktek : Gunakan tabel mahasiswa dan fakultas pada pertemuan ketiga. Tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa. Insert data mahasiswa hingga 7 baris.
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.
2. Tampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki
3. 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.
4. Tampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.
5. Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
6. Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
7. Tampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
8. Tampilkan data mahasiswa 3 baris saja.
9. 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
10. Buatlah tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
a. Tabel organ_dalam
b. Tabel organ_luar 5. Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
6. Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
7. Tampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
8. Tampilkan data mahasiswa 3 baris saja.
9. 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
10. Buatlah tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
a. Tabel organ_dalam
Tampilkan data dari kedua tabel tersebut menggunakan UNION, EXCEPT dan
INTERSECT
1. Menggunakan PostgreSQL
Langkah awal telah saya jelaskan pada laporan pertama, bagaimana masuk hingga membuat tabel pada PostgreSQL. Jika sudah paham, kita lanjutkan untuk mengerjakan laporan keempat ini. Pertama yang kita gunakan adalah tabel mahasiswa dan fakultas (*praktikum ketiga) lalu tambahkan terlebih dahulu data-data nomor dan nama fakultas dalam tabel fakultas menggunakan perintah query
INSERT INTO fakultas VALUES (1, ‘saintek’),(3, ‘ekonomi’),(4, ‘humaniora’);
Selanjutnya tambahkan field yang bernama gender_mah pada tabel mahasiswa menggunakan perintah query
ALTER TABLE mahasiswa ADD COLUMN
“gender_mah” varchar(1);
isi data sesuai pada keterangan dari
field menggunakan perintah query
UPDATE mahasiswa SET gender_mah=’L’ WHERE nama_mah=’luki’;
Kemudian insert data mahasiswa sampai 7 baris menggunakan perintah query INSERT INTO mahasiswa VALUES (12,‘sarah’,‘bali’,‘0878866654’,4,‘P’), (13,‘hakim’,‘malang’,‘0897888373’,1,‘L’), ... ;
*nilai fields bisa di insertkan satu persatu, namun jika dirasa terlalu lama bisa dijadikan satu query dengan memberi tanda koma(,)
Lalu tampilkan isi tabel mahasiswa
SELECT * FROM mahasiswa;
**pada langkah diatas tidak ada keterangan foto seperti sebelumnya karena pada waktu pengerjaan saya menyelesaikan sampai selesai yang ternyata query sebelumnya hanya sebagian yang terlihat pada halaman PostgreSQL Shell.
Kemudian tampilkan data mahasiswa seluruhnya. rubah label
pada field mahasiswa tanpa
harus merubah nama field secara permanen menggunakan perintah query
SELECT nim_mah AS nomor_identitas, nama_mah AS nama, alamat_mah AS alamat, id_fak AS nama_fakultas FROM mahasiswa;
Perintah selanjutnya mampilkan data mahasiswa yang berjenis kelamin laki-laki menggunakan perintah query
SELECT * FROM mahasiswa WHERE gender_mah=’L’;
Selanjutnya tampilkan data mahasiswa yang berjenis kelamin laki-laki atau mahasiswa fakultas saintek menggunakan perintah query
SELECT * FROM mahasiswa WHERE gender_mah=’L’ OR id_fak=1;
Pada tabel mahasiswa terdapat 7 baris, tampilkan yang bernomor 3-5 saja menggunakan BETWEEN menggunakan perintah query
SELECT * FROM mahasiswa WHERE nim_mah BETWEEN 13 and 15;
Setelah itu tampilkan yang bukan nomor 3-5 menggunakan BETWEEN.
SELECT * FROM mahasiswa WHERE nim_mah NOT BETWEEN 13 and 15;
Lalu tampilkan yang bukan nomor 3-5 tanpa menggunakan perintah BETWEEN menggunakan perintah query
SELECT * FROM mahasiswa WHERE nim_mah <'13' OR nim_mah>'15';
Kemudian tampilkan data mahasiswa yang bernomor 2,3,5 dengan menggunakan perintah IN.
SELECT * FROM mahasiswa WHERE nim_mah in (12,13,15);
Lalu tampilkan data seluruh mahasiswa yang mempunyai nama huruf awalan a menggunakan perintah query
SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘a%’;
Tampilka seluruh data mahasiswa yang mempunyai nama huruf akhiran a dan huruf ketiga n menggunakan perintah query
SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘%a’;
Selanjutnya tampilkan nomor fakultas di tabel mahasiswa dengan syarat nomor tidak ada yang sama menggunakan perintah query
SELECT DISTINCT id_fak FROM mahasiswa;
Tampilkan data mahasiswa 3 menggunakan perintah query
SELECT * FROM mahasiswa LIMIT 3;
Kemudian tampilkan data mahasiswa dengan ciri-ciri nama huruf awal a, dan huruf selanjutnya bole r atau t atau d, sedangkan di sini saya menggunakan huruf lain agar hasil tidak kosong dengan menggunakan perintah query
*Hasilnya akan kosong jika tidak memenuhi kriteria.
SELECT * FROM mahasiswa WHERE nama_mah ~ ‘s[ar]’;
*Hasilnya akan kosong jika tidak memenuhi kriteria.
Kemudian buatlah dua tabel yang bernama organ dalam dan organ luar dengan menggunakan perintah query
CREATE TABLE organ_dalam (nomor integer not null, nama varchar(27));
CREATE TABLE organ_luar (nomor integer not null, nama varchar(27));
Lalu masukkan datanya sesuai yang ditentukan dengan menggunakan perintah query
INSERT INTO organ_dalam VALUES (1, ‘jantung’), ... ;
Langkah terakhir kita lakukan perintah UNION, EXCEPT dan INTERSECT menggunakan perintah query
SELECT * FROM organ_dalam UNION SELECT * FROM organ_luar;
SELECT * FROM organ_dalam EXCEPT SELECT * FROM organ_luar;
SELECT * FROM organ_dalam INTERSECT SELECT * FROM organ_luar;
2. Menggunakan MySQL
Sebelumnya, koneksikan dulu pada database yang ingin digunakan. Lalu tambahkan field yang bernama gender_mah pada tabel mahasiswa yang telah dibuat pada praktikum sebelumnya menggunakan perintah query
ALTER TABLE mahasiswa ADD COLUMN gender_mah varchar(1);
serta isi datanya sesuai pada keterangan dari field lainnya
UPDATE mahasiswa SET gender=’L’ WHERE nim_mah=14;
Kemudian insert data mahasiswa sampai 7 baris menggunakan perintah query
INSERT INTO mahasiswa VALUES (11,‘shinta’,‘makasar’, ‘08566321000,3,‘P’),(12,‘fiersa’,‘bandung’,‘08199456003,4,‘L’), ... ;
Lalu tampilkan isi tabel mahasiswa dengan menggunakan perintah query
SELECT * FROM mahasiswa;
Kemudian tampilkan data mahasiswa seluruhnya. rubah label
pada field mahasiswa tanpa
harus merubah nama field secara permanen menggunakan perintah query
SELECT nim_mah as nomor_identitas, nama_mah as nama,
nama_fak as nama_fakultas FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;
Tampilkan data mahasiswa yang berjenis kelamin laki-laki dengan menggunakan perintah query
SELECT * FROM mahasiswa WHERE gender=’L’;
Tampilkan data mahasiswa yang berjenis kelamin laki-laki atau mahasiswa fakultas saintek dengan menggunakan perintah query
SELECT * FROM mahasiswa WHERE gender=’L’ OR id_fak=1;
Tampilkan data mahasiswa yang bernomor 2,3,5 dengan menggunakan IN dengan perintah query
SELECT * FROM mahasiswa WHERE nim_mah in (12,13,15);
Pada tabel mahasiswa terdapat 7 baris, tampilkan yang bernomor 3-5 saja menggunakan BETWEEN dengan perintah query
SELECT * FROM mahasiswa WHERE nim_mah BETWEEN 13 and 15;
Setelah itu kita tampilkan yang bukan nomor 3-5 menggunakan BETWEEN
dengan perintah query
dengan perintah query
SELECT * FROM mahasiswa WHERE nim_mah NOT BETWEEN 13 and 15;
Lalu tampilkan yang bukan nomor 3-5 tanpa menggunakan BETWEEN dengan perintah query
SELECT * FROM mahasiswa WHERE NOT nim_mah >= 13 and nim_mah <= 15;
Tampilkan data seluruh mahasiswa yang mempunyai nama huruf awalan a menggunakan perintah query
SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘a%’;
*Tertulis Empty set , yang berarti hasilnya akan kosong karena tidak ada yang cocok.
Tampilkan seluruh data mahasiswa yang mempunyai nama huruf akhiran a dan huruf ketiga n menggunakan perintah query
SELECT * FROM mahasiswa WHERE nama_mah LIKE ‘__n%a’;
Tampilkan nomor fakultas di tabel mahasiswa dengan syarat nomor tidak ada yang sama dengan menggunakan perintah query
SELECT DISTINCT id_fak as nomor_fakultas FROM mahasiswa;
Tampilkan data mahasiswa 3 menggunakan perintah query
SELECT * FROM mahasiswa LIMIT 3;
Tampilkan data mahasiswa dengan ciri-ciri nama huruf awal a, dan huruf selanjutnya boleh r atau t atau d, akan tetapi pada data mahasiswa yang dibuat tidak ada maka saya menggunakan awalan huruf b dengan perintah query
SELECT * FROM mahasiswa WHERE nama_mah REGEXP ‘b[nta]’;
CREATE TABLE organ_dalam (nomor integer not null, nama varchar(27));
CREATE TABLE organ_luar (nomor integer not null, nama varchar(27));
CREATE TABLE organ_luar (nomor integer not null, nama varchar(27));
INSERT INTO organ_dalam VALUES (1, ‘jantung’), ... ;
Lalu kita lakukan perintah UNION dengan menggunakan perintah query
SELECT * FROM organ_dalam UNION SELECT * FROM organ_luar;
Kemudian untuk EXCEPT dan INTERSECT berbeda dengan PostgreSQL, buatlah dua buah tabel lagi tetapi
hanya satu kolom saja dengan perintah query
CREATE TABLE organ_dalam2 (nama
varchar(15));
CREATE TABLE
organ_luar2 (nama varchar(15));
Untuk INTERSECT dan EXCEPT menggunakan perintah query
SELECT * FROM organ_dalam2 WHERE nama IN (SELECT * FROM
organ_luar2);
SELECT * FROM organ_dalam2 WHERE nama NOT
IN (SELECT * FROM organ_luar2);
C. Perbandingan PostgeSQL dan MySQL
Dari percobaan di atas bisa di lihat bahwa perbedaan query antara PostgreSQL dan MySQL terletak pada perintah EXCEPT dan INTERSECT yang menggunakan NOT dan NOT IN pada MySQL sedangkan pada PostgreSQL menggunakan perintah EXCEPT dan INTERSECT saja. Lalu perintah REGREXP pada PostgreSQL disimbolkan dengan “~” sedangkan pada MySQL menggunakan perintah REGREXP.
Tentunya segala macam ilmu dan informasi baik sedikit ataupun banyak akan bermanfaat begitu juga dengan laporan praktikum keempat ini semoga bermanfaat dan menambah ilmunya para pembaca. Saran saya untuk diri sendiri dan pembaca agar selalu mencoba, mencoba dan mencoba tentu saja dengan dibarengi doa dan ikhtiar :) Semoga bermanfaat.
E. Referensi
Materi Praktikum Desain Basis Data 2013.pdf
http://blog.akakom.ac.id/detotty/dasar-dasar-sql-structured-query-language/
Tidak ada komentar:
Posting Komentar