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.
1.2.
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 multiplecolumn pada subquery. Penghubung yang digunakan biasanya IN
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