LAPORAN PRAKTIKUM BASIS DATA LANJUT I
Oleh Delvia Wulan Sari
11120013
Nur Laila Fitriasari
11120027
Firman Fajrin
11120015
Fakultas Teknik Program Studi Teknik Informatika Universitas Wijaya Kusuma Surabaya 2014
Tujuan
Mahasiswa dapat mengetahui tentang teori Subquery Mengerti tentang penggunaan subquery Memahami penggunaan query Where,Like,Desc / Asc Mampu menerapkan penggunaan subquery dan query tingkat lanjut
Pendahuluan 1.1.Subquery Subquery merupakan “query didalam query” atau perintah select yang berada didalam perintah select lainnya. Subquery terdiri dari dua perintah select. Perintah select pertama disebut Outer Query atau Query induk sedangkan query yang berada pada klausa where disebut inner query. Inner query akan dikerjakan terlebih dahulu dan hasilnya akan digunakan sebagai pembnding pada pencarian data di klausa where outer query. Subquery dapat digunakan untuk menghasilkan nilai-nilai bagi outer query pada saat kriteria pencarian yang dibutuhkan tidak diketahui. Subquery (disebut juga subselect atau nested select/query atau inner-select) adalah query SELECT yang ada di dalam perintah SQL lain,misalnya SELECT,INSERT,UPDATE,atau DELETE. Sintaks formal subquery bisa ditulis sebagai berikut: SELECT A1, A2,…..,An FROM r1,r2,r3,….,rm WHERE P Contoh : perintah untuk menampilkan data pada table jenis_film yang mana data pada kolom jenis-nya tercantum pada table film menggunakan IN: SELECT * FROM JENIS_FILM WHERE JENIS IN (SELECT JENIS FROM FILM); atau menggunakan EXISTS SELECT * FROM JENIS_FILM WHERE EXISTS(SELECT * FROM FILM WHERE HARGA > 2000); Pada contoh di atas : SELECT JENIS FROM FILM disebut subquery, sedangkan : SELECT * FROM JENIS _FILM berkedudukan sebagai query . perhatikan, terdapat data jenis dan harga pada table jenis_film yang tidak ditampilkan. Hal ini disebabkan data pada kolom jenis tidak terdapat pada kolom jenis di table film.
Subquery dapat diklasifikasikan ke dalam tiga jenis yaitu: scalar,multiple-row,dan multiple-column. a. Scalar Subquery Subquery baris tunggal (scalar) hanya mengembalikan hasil satu baris data. Bentuk subquery ini diperlihatkan seperti Gambar 1.
Subquery baris tunggal dapat menggunakan operator baris tunggal =,>,>=,<,<=,atau < >. b. Multiple-Row Subquery Subquery baris ganda (multiple-row) mengembalikan lebih dari satu baris data. Bentuk subquery ini diperlihatkan seperti Gambar 2.
Subquery baris ganda dapat menggunakan operator komparasi IN,ANY / SOME, atau ALL. c. Multiple-Column Subquery Subquery kolom ganda (multiple-column) mengembalikan lebih dari satu baris dan satu kolom data. Bentuk subquery ini diperlihatkan seperti Gambar 3.
1.1. Fungsi Where WHERE digunakan untuk mengekstrak hanya catatan-catatan yang memenuhi kriteria tertentu. SQL WHERE Syntax SELECT nama_kolom, nama_kolom FROM nama_tabel
WHERE nama_kolom operator hasil; 1.2. Fungsi Like Operator LIKE digunakan untuk mencari pola yang telah ditentukan dalam kolom SQL LIKE Syntak SELECT nama_kolom (s) FROM nama_tabel WHERE nama_kolom LIKE pattern;
Percobaan Pembuatan table database pada SQL dan Oracle
Pada SQL Buat table dataaksesoris dengan kd_aksesoris sebagai primarykey Setelah itu masukan dataaksesoris
Kemudian panggil dataaksesoris dengan perintah select * from dataaksesoris, maka akan muncul seperti pada gambar dibawah ini :
Buat table dataHP dengan kd_hp sebagai primarykey Setelah itu masukan dataHP
Kemudian panggil dataHP dengan perintah select * from dataHP, maka akan muncul seperti pada gambar dibawah ini :
Buat table datakaryawan dengan id_karyawan sebagai primarykey Setelah itu masukan datakaryawan
Kemudian panggil datakaryawan dengan perintah select * from datakaryawan, maka akan muncul seperti pada gambar dibawah ini :
Buat table data namatoko dengan id_toko sebagai primarykey Setelah itu masukan datatoko
Kemudian panggil data namatoko dengan perintah select * from namatoko, maka akan muncul seperti pada gambar dibawah ini :
Buat table datapemilik dengan id_pemilik sebagai primarykey Setelah itu masukan datapemilik
Kemudian panggil datapemilik dengan perintah select * from datapemilik, maka akan muncul seperti pada gambar dibawah ini :
Buat table datasupplier dengan id_supplier sebagai primarykey Setelah itu masukan datasupplier
Kemudian panggil datasupplier dengan perintah select * from datasupplier, maka akan muncul seperti pada gambar dibawah ini :
Menampilkan scalar subquery Menyeleksi data karyawan dari data pemilik dimana id_karyawan yang dipanggil 9939
Maka hasilna seperti gambar dibawah ini :
Menampilkan fungsi like Dengan menyeleksi dataHP dimana OS_HP yang dicari dengan inisial ”S”
Maka hasilnya seperti berikut :
Menampilkan fungsi where Dengan menyeleksi data aksesoris dimana nama_aksesoris yang dicari adalah ”hedseat sony”
Maka hasilnya seperti pada gambar berikut :
Pada ORACLE Membuat table datakaryawan dengan id_karyawan sebagai primarykey
Setelah itu masukkan datakaryawan
Kemudian panggil datakaryawan dengan perintah select * from datakaryawan
Maka hasilnya sebagai berikut :
Membuat table datapulsa dengan id_pulsa sebagai primarykey
Setelah itu masukkan datapulsa
Kemudian panggil datapulsa dengan perintah select * from datapulsa
Maka hasilnya sebagai berikut :
Membuat table namatoko dengan id_toko sebagai primarykey
Setelah itu masukkan data namatoko
Kemudian panggil namatoko dengan “perintah select * from namatoko” Maka hasilnya sebagai berikut:
Membuat table datacustomer dengan id_customer sebagai primarykey
Setelah itu masukkan datacustomer
Kemudian panggil datacustomer dengan “perintah select * from datacustomer”
Maka hasilnya sebagai berikut:
Membuat table dataHP dengan kd_HP sebagai primarykey
Setelah itu masukkan dataHP
Kemudian panggil dataHP dengan “perintah select * from dataHP”
Maka hasilnya sebagai berikut
Membuat table dataaksesoris dengan kd_aksesoris sebagai primarykey
Setelah itu masukkan dataaksesoris
Kemudian panggil dataaksesoris dengan “perintah select * from dataaksesoris”
Maks hasilnya sebagai berikut :
Menggunakan multiple row subquery dengan operator Any Menampilkan harga aksesoris diatas harga 40000 dengan cara menyeleksi data aksesoris daridata aksesoris dimana harga aksesoris lebih dari 40000
Maka hasilnya sebagai berikut :
Menampilkan data pegawai yang diinginkan dengan menyeleksi id_customer dari datacustomer dimana yang memiliki id 4416
Maka hasilnya sebagai berikut :
Menampilkan jenis kelamin yang sama dengan id yang ditulis dengan menyeleksi jenis kelamin karyawan dari data karyawan dimana id karyawan dimulai dari 9901
Maka hasilnya sebagai berikut :
Kesimpulan Subquery merupakan “query didalam query” atau perintah select yang berada didalam perintah select lainnya. Subquery terdiri dari dua perintah select. Perintah select pertama disebut Outer Query atau Query induk sedangkan query yang berada pada klausa where disebut inner query. Inner query akan dikerjakan terlebih dahulu dan hasilnya akan digunakan sebagai pembnding pada pencarian data di klausa where outer query. Subquery dapat digunakan untuk menghasilkan nilai-nilai bagi outer query pada saat kriteria pencarian yang dibutuhkan tidak diketahui.