Anda di halaman 1dari 18

LAPORAN PRAKTIKUM I

SUBQUERY dan QUERY LANJUT


BASIS DATA LANJUT



Oleh
Siti Nuraini Triastuti 11120047
Santi Dewi Putri .S. 11120037
Dewi Rahayuningsih 11120031


Fakultas Teknik
Program Studi Teknik Informatika
Universitas Wijaya Kusuma Surabaya
2014
Tujuan
1. Mahasiswa dapat mengentahui tentang teori Subquery.
2. Mahasiswa dapat mengerti penggunaan subquery.
3. Mahasiwa dapat memahami fungsi dari quey where,like,Desc/Asc.
4. Mampu menerapkan pengguna subquery dan query tingkat lanjut.
Pendahuluan
1. Subquery

Pengertian singkat tentang subquery adalah perintah SELECT yang berada di dalam
perintah SQL lain. Subquery adalah salah satu metode untuk mendapatkan informasi
dari beberapa tabel dalam database.Arti subquery sendiri adalah query didalam query.
jadi untuk mendapatkan informasi pada tabel ataupun relasional tabel yang sangat
kompleks kita dapat menggunakan kondisi dengan sub permintaan tertentu.Secara
umum syntax subquery adalah :

SELECT * FROM tabel_a WHERE kolom_a = (SELECT kolom_b FROM
tabel_b);
Kegunaan subquery dalam memanipulasi data:
Meng-copy data dari satu tabel ke tabel lain
Menerima data dari inline view
Mengambil data dari tabel lain untuk kemudian di update ke tabel yang dituju
Menghapus baris dari satu tabel berdasarkan baris dari tabel lain.

Subquery dapat diklasifikasikan ke dalam tiga jenis:
a. Scalar Subquery
Subquery baris tunggal ( scalar) hanya mengembalikan hasil satu baris data. Subquery
baris tunggal dapat menggunakan operator baris tunggal =,>,>=,<,<=, atau <>
b. Multi-row subquery
Menghasilkan lebih dari satu row. Tanda pembanding yang digunakan dalam multi
row subquery adalah tanda pembanding jamak yaitu IN, ANY dan ALL.
c. Multi-column Subquery
Multi Column Subquery adalah subquery yang menghasilkan lebih dari satu kolom.
Biasa disebut juga pairwise subquery. Jumlah dan posisi kolom dari outer query yang
akan dibandingkan harus sama dengan jumlah dan posisi kolom pada subquery. Setiap
row pada outer query dibandingkan dengan nilai dari multiple-row dan multiple-
column pada subquery. Penghubung yang digunakan biasanya IN
2. 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;
3. 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
SQL
o Membuat table Mahasiswa dengan nim sebagai primarykey
Setelah itu masukan data Mahasiswa
Kemudian panggil data Mahasiswa dengan perintah select * from mahasiswa, maka
akan muncul seperti pada gambar dibawah ini :

o Membuat table Dosen dengan kode_dos sebagai primarykey
Setelah itu masukan data Dosen
Kemudian panggil data Dosen dengan perintah select * from dosen, maka akan
muncul seperti pada gambar dibawah ini :

o Membuat table matakuliah dengan kode_mk sebagai primarykey
Setelah itu masukan data matakuliah
Kemudian panggil data matakuliah dengan perintah select * from matakuliah, maka
akan muncul seperti pada gambar dibawah ini:


o Membuat table ambil_mk dengan nim sebagai primarykey
Setelah itu masukan data ambil_mk
Kemudian panggil data ambil_mk dengan perintah select * from ambil_mk, maka
akan muncul seperti pada gambar dibawah ini :


o Membuat table jurusan dengan kode_jur sebagai primarykey
Setelah itu masukan data jurusan
Kemudian panggil data jurusan dengan perintah select * from jurusan, maka akan
muncul seperti pada gambar dibawah ini



















Tugas SQL
1. Gunakan Subquery untuk menghasilkan data sebagai berikut:
a. Gunakan Scalar Subquery

Hasil :



Scalar query fungsinya dengan select jenis_kelamin from mahasiswa where nim=103);.

b. Gunakan Multiple Row Subquery dengan operator IN
Hasil :


Multiple row subquery dengan operator IN untuk memanggil data kode_dos yang kodenya
kurang dari 13 yang ingin di tampilkan misalnya dosen dan mata kuliah yang di ajarnya
dengan select kode_dos, nama_dos from dosen where kode_dos IN (select kode_dos from
matakuliah where kode_dos <13);

c. Gunakan Multiple Row Subquery dengan operator Any

Hasil :

Multiple row subquery dengan operator Any. Dengan tampilakan dosen dan
matakuliah yang di ambil, dengan select*from matakuliah where kode_mk = any
(selectkode_mk from matakuliah where kode_dos !=11) order by semester DESC;
d. Untuk mendapatkan data sebagai berikut :




Hasil :




Memanggil dengan menggunakan multiple row subquery dengan operator Any
Dengan select*from matakuliah where kode_mk = any (select kode_mk from
matakuliah where sks=3) order by kode_dos ASC;

e. Bagaimana query untuk mendapatkan data dengan ketentuan:


Hasil :

Menampilkan kolom kode_mk, nama_mk, sks, semester, kode_dos, dimana kode_mk,
adalah PTI1447, dengan select*from matakuliah where kode_mk = any (select kode mk from
matakuliah where kode_mk = PTI447);

2. Dari table yang sama seperti nomer 1.
a. Tampilkan mahasiswa yang mengambil mata kuliah dengan kode depan mata
kuliah adalah PTI





Hasil :


Tampilan mahasiswa yang mengambil mata kuliah dengan kode mata kuliah PTI
dengan perintah select
mahasiswa.nim,mahasiswa.nama,mahasiswa.jenis_kelamin,ambil_mk.kode_mk from
mahasiswa ,ambil_mk where ambil_mk.kode.mk lioke PTI% AND ambil_mk.nim
=mahasiswa.nim;

b. Tampilkan dosen yang alamatnya bukan dari Jakarta dan mengajar praktikum

Hasil :


Tampilan dosen yang alamatnya bukan dari Jakarta dan mengajar prkatikum dengan
perintah select dosen.kode_dos,dosen. nama_dos,dosen. alamat_dos,
matakuliah.kode_mk, matakuliah.nama_mk from dosen,matakuliah Where
dosen.kode_dos =matakuliah.kode_dos AND dosen.alamat_dos not like %jakarta%
AND matakuliah.nama_mk like Praktikum;

ORACLE

o Membuat table Mahasiswa dengan nim sebagai primarykey


Setelah itu masukan data Mahasiswa








Kemudian panggil data Mahasiswa dengan perintah select * from mahasiswa







o Membuat table Dosen dengan kode_dos sebagai primarykey


Setelah itu masukan data Dosen








Kemudian panggil data Dosen dengan perintah select * from dosen







o Membuat table matakuliah


Setelah itu masukan data matakuliah







Kemudian panggil data matakuliah dengan perintah select * from matakuliah








o Membuat table jurusan

Setelah itu masukan data jurusan



Kemudian panggil data jurusan dengan perintah select * from jurusan




o Membuat table ambil_mk


Setelah itu masukan data ambil_mk





Kemudian panggil data ambil_mk dengan perintah select * from ambil_mk

































Tugas ORACLE
1. Gunakan Subquery untuk menghasilkan data sebagai berikut:
a. Gunakan Scalar Subquery

Hasil :



Scalar query fungsinya dengan select*from mahasiswa where jenis_kelamin=(select
jenis_kelamin from mahasiswa where nim=103);

b. Gunakan Multiple Row Subquery dengan operator IN

Hasil :


Multiple row subquery dengan operator IN untuk memanggil data kode_dos yang kodenya
kurang dari 13 yang ingin di tampilkan misalnya dosen dan mata kuliah yang di ajarnya
dengan select kode_dos, nama_dos from dosen where kode_dos IN (select kode_dos from
matakuliah where kode_dos <13);

c. Gunakan Multiple Row Subquery dengan operator Any

Hasil :





Multiple row subquery dengan operator Any. Dengan tampilakan dosen dan
matakuliah yang di ambil, dengan select*from matakuliah where kode_mk = any
(selectkode_mk from matakuliah where kode_dos !=11);


d. Untuk mendapatkan data sebagai berikut :

Hasil :



Memanggil dengan menggunakan multiple row subquery dengan operator Any
Dengan select*from matakuliah where kode_mk = any (select kode_mk from
matakuliah where sks=3) order by kode_dos ASC;


e. Bagaimana query untuk mendapatkan data dengan ketentuan:

Hasil :


Menampilkan kolom kode_mk, nama_mk, sks, semester, kode_dos, dimana kode_mk,
adalah PTI1447, dengan select*from matakuliah where kode_mk = any (select kode mk from
matakuliah where kode_mk = PTI447);

2. Dari table yang sama seperti nomer 1.
a. Tampilkan mahasiswa yang mengambil mata kuliah dengan kode depan mata
kuliah adalah PTI










Tampilan mahasiswa yang mengambil mata kuliah dengan kode mata kuliah PTI
dengan perintah select
mahasiswa.nim,mahasiswa.nama,mahasiswa.jenis_kelamin,ambil_mk.kode_mk from
mahasiswa ,ambil_mk where ambil_mk.kode.mk lioke PTI% AND ambil_mk.nim
=mahasiswa.nim;
b. Tampilkan dosen yang alamatnya bukan dari Jakarta dan mengajar praktikum

Hasil :





Tampilan dosen yang alamatnya bukan dari Jakarta dan mengajar prkatikum dengan
perintah select dosen.kode_dos,dosen. nama_dos,dosen. alamat_dos,
matakuliah.kode_mk, matakuliah.nama_mk from dosen,matakuliah Where
dosen.kode_dos =matakuliah.kode_dos AND dosen.alamat_dos not like %jakarta%
AND matakuliah.nama_mk like Praktikum;



KESIMPULAN

Subquery merupakan query dalam query yang hasil dari query akan menjadi bagian
dari query,Subquery terletak didalam klausa where. klausa Having, subquery digunakan
untuk memilih kelompok beris yang kemudian digunakan oleh query.perintah select yang
berada di dalam perintah select lainnya. Subquery terletak didalam klausa Where atau
Having. Pada klausa Where, subquery digunakan untuk memilih baris-baris tertentu yang
kemudian digunakan oleh query.



Tanggal Asistensi : 25 Mei 2014

Anda mungkin juga menyukai