Skip to main content

Subquery

Di dalam syntax query terkadang terdapat syntax query lagi. Inilah yang disebut dengan subquery.
Contoh :
select mhs.namaMhs,ambilmk.nilai
from mhs,ambilmk
where mhs.nim=ambilmk.nim and ambilmk.kodeMK=’A02’ and
ambilmk.nilai=(select max(nilai) from ambilmk);

dari contoh di atas yang disebut sebagai subquery adalah syntax (select max(nilai) from ambilmk)

biasanya subquery dapat diimplementasikan dalam penyelesaian masalah dimana nilainya belum diketahui. Berikut ini implementasi dari subquery. Yang dilakukan pertama kali adalah membuat 3 tabel yaitu tabel mhs, tabel mk dan tabel ambilmk. Berikut ini syntax SQL untuk membuat ketiga tabel tersebut :
create table mhs (nim varchar (10),namaMhs varchar (30));
create table mk (kodeMK varchar(10),namaMK varchar (30),sks int (5));
create table ambilmk(nim varchar (10),kodeMK varchar(10),nilai int (5));

setelah membuat tabel, langkah kedua yaitu mengisi tabel tersebut, berikut syntax untuk memasukkan data ke tabel tersebut

insert into mhs values (‘001’,’Andi’), ('002’,’Beny’), ('003’,’Cindi’);
insert into mk values (‘A01’,’PBO’,’2’), (‘A02’,’SBD’,’2’), (‘A03’,’Statistika’,’2’);
insert into ambilmk values (‘001’,’A01’,’3’), (‘001’,‘A02’,’4’), (‘001’,’A03’,’2’), (‘002’,‘A02’,’3’), (‘002’,’A03’,’2’), (‘003’,‘A01’,’4’), (‘003’,’A02’,’3’), (‘003’,‘A03’,’3’);
 

misal terdapat persoalan yang meminta untuk menampilkan :
1.      Nama mahasiswa beserta nilai mata kuliahnya yang memiliki nilai paling rendah pada mata kuliah SBD
2.      Nama mahasiswa beserta NIM yang nilainya di bawah rata-rata pada matakuliah statistika
3.      Nama mahasiswa beserta NIM-nya yang tidak mengambil mata kuliah PBO

Untuk menyelesaikan masalah pertama dapat dilakukan dengan cara menggunakan subquery sebagai berikut
select mhs.namaMhs,ambilmk.nilai
from mhs,ambilmk
where mhs.nim=ambilmk.nim and ambilmk.kodeMK='A02'
and ambilmk.nilai=(select min(nilai) from ambilmk);
subquery (select min(nilai) from ambilmk) digunakan untuk memberi nilai pada query yang berada dilevel di atasnya dengan nilai terendah mahasiswa yang mengambil matakuliah dengan kodeMK A02

Untuk menyelesaikan masalah kedua dapat dilakukan dengan cara menggunakan subquery sebagai berikut
select mhs.namaMhs,ambilmk.nilai
from mhs,ambilmk
where mhs.nim=ambilmk.nim and ambilmk.kodeMK='A03'
and ambilmk.nilai>(select avg(nilai) from ambilmk);
Subquery (select avg(nilai) from ambilmk) digunakan utnuk memberi nilai pada query yang berda di level di atasnya dengan nilai rata-rata dari nilai mahasiswa yang mengambil mata kuliah dengan kodeMK A03

Untuk menyelesaikan masalah ketiga dapat dilakukan dengan cara menggunakan subquery sebagai berikut
select * from mhs
where nim not in (select nim from ambilmk where kodemk='A01');
Pada query utama digunakan untuk menampilkan seluruh mahasiswa. Sedangkan subquery digunakan untuk menampilkan mahasiswa yang mengambil matakuliah dengan kodeMK A01.
Karena didalam klausa where terdapat not in maka yang akan ditampilkan adalah mahasiswa yang tidak mengambil mata kuliah dengan kodeMK A01.

Comments

Popular posts from this blog

Transformasi Model Data

Di dalam basis data terdapat dua jenis varian entitas yaitu : Entitas kuat Yaitu suatu entitas yang dihubungkan dalam ERD (Entity Relationship Diagram) yang tidak tergantung terhadap entitas lain. Entitas lemah Yaitu suatu entitas yang tergantung terhadap entitas yang lain serta tidak memiliki atribut yang dapat dijadikan key attribute Agregasi Yaitu suatu gambaran dari suatu relasi yang menghubungkan entitas dengan himpunan relasi dalam ERD secara langsung.

Komunikasi dalam Sistem Terdistribusi

Komunikasi adalah suatu proses penyampaian informasi (pesan, ide, gagasan) dari satu pihak kepada pihak lain. Pada umumnya, komunikasi dilakukan secara lisan atau verbal yang dapat dimengerti oleh kedua belah pihak.  Dimana proses komunikasi dapat dilakukan kepada orang, kelompok, organisasi dan masyarakat menciptakan, dan menggunakan informasi agar terhubung dengan lingkungan dan orang lain.Komunikasi memiliki komponen-komponen yang menjadikan komunikasi berjalan dengan baik, komponen tersebut yaitu: Pengirim atau komunikator ( sender ) adalah pihak yang mengirimkan pesan kepada pihak lain. Pesan ( message ) adalah isi atau maksud yang akan disampaikan oleh satu pihak kepada pihak lain. Saluran ( channel ) adalah media dimana pesan disampaikan kepada komunikan. dalam komunikasi antar-pribadi (tatap muka) saluran dapat berupa udara yang mengalirkan getaran nada/suara. Penerima atau komunikate ( receiver ) adalah pihak yang menerima pesan dari pihak lain Umpan balik ( feedbac...

Berbagai Aplikasi Internet

Aplikasi internet yang tersedia saat ini sudah banyak dan akan terus bertambah seiring   dengan kemajuan teknologi informasi. Aplikasi-aplikasi internet ini kemudian digunakan dalam berbagai bidang seperti akademik, militer, media massa, periklanan, dan berbagai sektor   industri lainnya. Dari sekian banyak aplikasi internet yang ada saat ini, yang paling banyak digunakan antara lain : 1.       WWW (World Wide Web) World Wide Web atau biasa disebut web, merupakan aplikasi yang paling banyak digunakan dan merupakan aplikasi yang paling penting. Aplikasi web memungkinkan komputer-komputer di internet saling mempertukarkan informasi dalam format dokumen khusus yang disebut dengan format hypertext atau hypermedia . Disebut format hypermedia karena format dokumen tersebut memungkinkan informasi disimpan dalam berbagai bentuk seperti teks, gambar,gambar bergerak dan suara 2.       Surat Elektronik Surat Elektronik (elect...