Subquery adalah query yang dilekatkan pada query lainnya. Anda dapat menggunakan subquery untuk menggabungkan dua atau lebih query ke dalam satu statement tunggal. Penggunaan paling umum dari subquery adalah dalam klausa WHERE dengan operator INNER JOIN adalah mekanisme yang digunakan untuk menghubungkan beberapa tabel dengan statement SELECT. Dengan menggunakan sintaks khusus, beberapa tabel dapat digabungkan sehingga dapat dihasilkan sekumpulan output tunggal, dan join menghubungkan baris-baris yang benar pada setiap tabel. Ketika anda menggabungkan dua tabel, yang sebenarnya yang anda lakukan adalah memasangkan setiap baris data pada tabel pertama dengan setiap baris pada tabel kedua. Klausa WHERE atau klausa ON bertindak sebagai penyaring untuk memasukkan baris yang memenuhi kondisi penyaring yang telah ditentukan.
Terdapat dua jenis JOIN yaitu : INNER JOIN dan OUTER JOIN. OUTER JOIN terdiri dari dua jenis yaitu : LEFT OUTER JOIN dan RIGHT OUTER JOIN.
Silahkan jalankan perintah Query di bawah ini yang digunakan dalam materi kali ini yaitu sub query dan join. Jadi kita akan mengelolah database yang telah kita buat pada artikel yang pertama. Jika teman-teman belum membuat database dbAkademik, silahkan kunjungi membuat database dbAkademik . kemudian aktifkan Xampp sesuai dengan artikel sebelumnya menjalankan Xampp.
Terdapat dua jenis JOIN yaitu : INNER JOIN dan OUTER JOIN. OUTER JOIN terdiri dari dua jenis yaitu : LEFT OUTER JOIN dan RIGHT OUTER JOIN.
Silahkan jalankan perintah Query di bawah ini yang digunakan dalam materi kali ini yaitu sub query dan join. Jadi kita akan mengelolah database yang telah kita buat pada artikel yang pertama. Jika teman-teman belum membuat database dbAkademik, silahkan kunjungi membuat database dbAkademik . kemudian aktifkan Xampp sesuai dengan artikel sebelumnya menjalankan Xampp.
- Tampilkan semua mahasiswa yang memiliki nilai, kolom yang anda tampilkan berupa nama, jurusan, tugas, dan quis!
Select mahasiswa.nama, mahasiswa.jurusan, nilai.tugas, nilai.quis from mahasiswa, nilai where mahasiswa.nim=nilai.nim; atau Select mahasiswa.nama, mahasiswa.jurusan, nilai.tugas, nilai.quis from mahasiswa inner join nilai on mahasiswa.nim=nilai.nim; - Tampilkan semua kuliah yang memiliki nilai, kolom yang ditampilkan berupa namakuliah, sks, uts, uas dan total, dimana total didapat dari (tugas+quis+uts+uas)/4 !
Select kuliah.matakuliah, kuliah.sks, nilai.uts, nilai.uas (nilai.tugas+nilai.quis+nilai.uts+nilai.uas)/4 as total from kuliah, nilai where kuliah.kode=nilai.kode; atau Select kuliah.matakuliah, kuliah.sks, nilai.uts, nilai.uas (nilai.tugas+nilai.quis+nilai.uts+nilai.uas)/4 as total from kuliah inner join nilai on kuliah.kode=nilai.kode; - Tampilkan semua mahasiswa dan nilainya termasuk mahasiswa yang tidak memiliki nilai, kolom yang anda tampilkan berupa nim, nama, kode, tugas, quis, uts, dan uas !
Select mahasiswa.nim, mahasiswa.nama, mahasiswa.jurusan, nilai.tugas, nilai.quis, nilai.uts, nilai.uas from mahasiswa left outer join nilai on mahasiswa.nim=nilai.nim; atau Select mahasiswa.nim, mahasiswa.nama, mahasiswa.jurusan, nilai.tugas, nilai.quis, nilai.uts, nilai.uas from nilai right outer join mahasiswa on mahasiswa.nim=nilai.nim; - Tampilkan data mahasiswa berupa nim, nama, jurusan yang nimnya terdaftar pada tabel nilai !
Select nim, nama, jurusan from mahasiswawhere nim in (select nim for nilai); - Berapakah nilai terkecil quis yang diperoleh mahasiswa jurusan MI !
Select min(quis) as nilai_terkecil from nilai inner join mahasiswa on nilai.nim=mahasiswa.nim where mahasiswa.jurusan="MI"; atau Select min(quis) as nilai_terkecil from nilai, mahasiswa where nilai.nim=mahasiswa.nim where mahasiswa.jurusan="MI"; - Berapakah nilai terbesar dari tugas mahasiswauntuk mata kuliah sistem basis data 1 yang jurusannya SI !
Select max(tugas) from nilai, kuliah, mahasiswa where mahasiswa.nim=nilai.nim and kuliah.kode=nilai.kode and kuliah.matakuliah="Pemprograman Visual 1" and mahasiswa.jurusan="TK"; - Berapakah nilai rata-rata tugas untuk mata kuliah sistem basis data 1 !
Select avg(tugas) as rata_rata_tugas from nilai, kuliah where mahasiswa.nim=nilai.nim and nilai.kode=kuliah.kode and matakuliah="Pemprograman Visual 1" and mahasiswa.jurusan="sistem basis data 1"; - Ketik perintah berikut ini dan bandingkan hasilnya !
Select mahasiswa.*, nilai.* from mahasiswa left join nilai on mahasiswa.nim=nilai.nim; atau Select mahasiswa.*, nilai.* from mahasiswa right join nilai on mahasiswa.nim=nilai.nim; - Ketikkan perintah ini dan bandingkan hasilnya !
Select mahasiswa.nim, mahasiswa.nama, nilai.uts, nilai.uas from mahasiswa left join nilai on mahasiswa.nim=nilai.nim; atau Select mahasiswa.nim, mahasiswa.nama, nilai.uts, nilai.uas from mahasiswa right join nilai on mahasiswa.nim=nilai.nim; - Ketikkan perintah ini dan bandingkan hasilnya !
Select mahasiswa.nim, mahasiswa.nama, kuliah.matakuliah, nilai.uts, nilai.uas from mahasiswa, kuliah, nilai; atau Select mahasiswa.nim, mahasiswa.nama, kuliah.matakuliah, nilai.uts, nilai.uas from mahasiswa, kuliah, nilai where kuliah.kode=nilai.kode and mahasiswa.nim=nilai.nim;