laporan 1 annissaul hidayah 11120018_6
TRANSCRIPT
LAPORAN PRAKTIKUM BASIS DATA LANJUT I
Oleh
Annissaul Hidayah 11120018
Rizki Fadila 11120024
Desmala Paranti 11120031
Fakultas Teknik
Program Studi Teknik Informatika
Universitas Wijaya Kusuma Surabaya
2014
Tujuan
1. Mengerti tentang penggunaan subquery.
2. Memahami penggunaan query Where, Like, Desc/ Asc.
3. Mampu menerapkan penggunaan subQuery dan Query tingkat lanjut.
Pendahuluan
1.1. Subquery
Subquery adalah perintah SELECT yang berada di dalam perintah SQL lain. Subquery sangat
berguna ketika kita ingin menampilkan data dengan kondisi yang bergantung
pada data di dalam table itu sendiri.
Kegunaan-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.
Bentuk umum dari sub query adalah
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:
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
1.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;
1.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 oracle dan SQL
Oracle
Pembuatan connect database baru
Database baru dengan nama pertemuan 1.
Pembuatan tabel database mahasiswa dengan nim sebagai primary key.
Tabel matakuliah dengan kode_mk sebagai primary key.
Pemanggilan table matakuliah dengan perintah seperti di atas.
Memasukkan data mahasiswa
Pemanggilan table mahasiswa dengan perintah select * from mahasiswa.
Membuat table Dosen kode_dosen sebagai primary key.
Memasukkan data dosen
Memanggil data dosen dengan perintah select * from dosen.
Memasukkan data matakuliah dan memanggil dengan perintah select * from matakuliah.
Membuat table jurusan kode_jurusan sebagai primary key.
Memasukkan data jurusan yang ada.
Memanggil data jurusan dengan perintah select * from jurusan.
Membuat table MK yang di ambil dengan nim sebagai primary key.
Memasukkan data MK yang di ambil.
SQL Server
Pembuatan table pada SQL primary key-nya sudah di atur sehingga primary key di sini
berbeda dengan oracle. Pada oracle primary key harus di centang sedangkan pada SQL
primary key tidak bisa di centang contohnya seperti berikut:
Pembuatan table matakuliah dengan kode_mk sebagai primary key.
Pembuatan table mahasiswa dengan nim sebagai primary key.
Pembuatan table jurusan dengan kode_jurusan sebagai primary key.
Pembuatan table dosen dengan kode_dosen sebagai primary key.
Pembuatan table ambil_mk dengan nim sebagai primary key.
Tugas
Oracle
1. Gunakan Subquery untuk menghasilkan data sebagai berikut:
a. Gunakan Scalar Subquery
Memanggil dengan perintah scalar query fungsinya untuk memanggil salah satu data yang di
inginkan. Dengan perintah seperti gambar di atas.
b. Gunakan Multiple Row Subquery dengan operator IN
Memanggil dengan multiple row subquery dengan operator IN. fungsinya untuk memanggil
dua data yang ingin di tampilkan misalnya dosen dan mata kuliah yang di ajarnya.
c. Gunakan Multiple Row Subquery dengan operator Any
Memanggil dengan menggunakan multiple row subquery dengan operator Any. Dengan
tampilakan dosen dan matakuliah yang di ambil.
Memanggil dengan menggunakan multiple row subquery dengan operator Any.
d. Bagaimana untuk mendapatkan data seperti berikut
Memanggil dengan menggunakan multiple row subquery dengan operator Any.
e. Bagaimana query untuk mendapatkan data dengan ketentuan:
Menampilkan kolom kode_mk, nama_ mk, sks, semester, kode_dos dimana kode_mk
adalah PTI1447.
Tampilan kolom kode _mk, nama_mk, sks, semester, kode_dos dimana kode_mk
pada PTI
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 depan mata kuliah PTI
dengan perintah select * from ambil_mk where kode_like’PTI%’.
b. Tampilkan dosen yang alamatnya bukan dari Jakarta dan mengajar praktikum.
Tampilan dosen yang alamatnya bukan dari Jakarta dengan perintah select mahasiswa.nim,
mahasiswa.nama, mahasiswa.jenis_kelamin, ambil_mk.kode_mk from mahasiswa, ambil_mk
where ambil_mk.kode_mk like ‘PTI%’ AND ambil_mk.nim=mahasiswa.nim;
Tampilan dosen yang alamatnya bukan dari Jakarta dan mengajar prkatikum dengan perintah
select kode_dos, nama_dos, alamat_dos from dosen where kode_dos IN (select kode_dos
from matakuliah where alamat_dos not like ‘%jakarta%’ AND nama_mk like ‘Praktikum%’);
SQL
1. Gunakan Subquery untuk menghasilkan data sebagai berikut:
a. Gunakan Scalar Subquery
Mencari jenis_kelamin yang sama dengan wati pada tabel mahasiswa sehingga
dapat dituliskan
Hasil :
Memanggil dengan perintah scalar query fungsinya untuk memanggil salah satu data
yang di inginkan.
b. Gunakan Multiple Row Subquery dengan operator IN
Mencari kode_dos yang sama pada tabel dosen dan matakuliah yang kurang dari
13
Hasil :
Memanggil dengan multiple row subquery dengan operator IN. fungsinya untuk
memanggil dua data yang ingin di tampilkan misalnya dosen dan mata kuliah yang di
ajarnya.
c. Gunakan Multiple Row Subquery dengan operator Any
Mencari kode_mk yang sama pada tabel kuliah yang kode_dosnya bukan 11
Cara II :
Mencari kode_mk yang sama pada tabel matakuliah yang sksnya lebih dari 1
Hasil :
Memanggil dengan menggunakan multiple row subquery dengan operator Any.
Dengan tampilakan dosen dan matakuliah yang di ambil.
d. Bagaimana untuk mendapatkan data seperti berikut
Hasil :
Memanggil dengan menggunakan multiple row subquery dengan operator Any.
e. Bagaimana query untuk mendapatkan data dengan ketentuan:
Menampilkan kolom kode_mk, nama_ mk, sks, semester, kode_dos dimana
kode_mk adalah PTI1447.
Hasil :
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 depan mata kuliah
PTI dengan perintah select * from ambil_mk where kode_like’PTI%’.
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 kode_dos, nama_dos, alamat_dos from dosen where kode_dos IN
(select kode_dos from matakuliah where alamat_dos not like ‘%jakarta%’ AND
nama_mk like ‘Praktikum%’);
Kesimpulan
Subquery merupakan suatu pernyataan SELECT yang dilekatkan didalam suatu
klausa pada pernyataan SELECT lain. Kita dapat membangun pernyataan- pernyataan yang
kuat selain yang sederhana dengan menggunakan subquery- subquery. Subquery- subquery
bisa sangat bermanfaat ketika kita memerlukan untuk memilih baris- baris dari suatu table
dengan suatu kondisi yang tergantung pada data didalam tabel itu sendiri.
Dengan menggunakan subquery, hasil dari query akan menjadi bagian dari query di
atasnya. Subquery terletak didalam klausa Where atau Having. Pada klausa Where, subquery
digunakan untuk memilih baris-baris tertentu yang kemudian digunakan oleh query.
Agus Sumaryanto
Tanggal Asisstensi : 30 Mei 2014