Ok untuk postingan pertama di blog ini saya berbagi mengenai tugas kuliah saya yaitu SBDL tentang Query Join dan Where

langsung ke contoh saya kawan

  • MAHASISWA YANG BANYAK MENGAMBIL MATAKULIAH

eksplisit
SELECT COUNT(DISTINCT tb_mahasiswa.nim)AS tb_mahasiswa_yang_mengambil_matkul
FROM tb_mahasiswa INNER JOIN tb_mk ON tb_mahasiswa.nim = tb_mk.nim


Implisit
SELECT COUNT(DISTINCT tb_mahasiswa.nim) AS tb_mahasiswa_yang_mengambil_matkul
FROM tb_mahasiswa,tb_mk WHERE tb_mahasiswa.nim=tb_mk.nim

catatan :
  • pembeda antara eksplisit dengan implisit adalah tanda koma yang terletka setelah FROM tb_mahasiswa. 
  • termasuk di script yang dibawah
  • untuk yang di blok merah adalah nama tabel anda sedangkan tulisan setelah AS itu sebagai tulisan diatas hasil seperti ini
  • MAHASISWA TIDAK MENGAMBIL MATAKULIAH
SELECT m.jns_kelamin, COUNT(m.jns_kelamin)AS jumlah
FROM tb_mahasiswa m
LEFT JOIN tb_mk a
ON m.nim = a.nim
WHERE a.nim IS NULL
GROUP BY m.jns_kelamin
 


  • Nim dan Nama mahasiswa yang mengambil matakuliah beserta kode_mk dan nama_mk yang diambilnya.
SELECT m.nim, m.nama, k.kd_mk, k.nama_mk
FROM tb_mahasiswa m INNER JOIN tb_mk a
ON m.nim = a.nim
INNER JOIN tb_matakuliah k ON a.kd_mk = k.kd_mk;


  •   Nim, nama, dan total sks yang diambil oleh mahasiswa, Dimana total sksnya lebih dari 4 dan kurang dari 10. 


SELECT m.nim, m.nama, SUM(sks) AS total_sks
FROM tb_mahasiswa m,tb_mk a,tb_matakuliah k
WHERE m.nim = a.nim AND a.kd_mk = k.kd_mk
GROUP BY nama HAVING SUM(sks) > 4 AND SUM(sks) < 10;

  • Data matakuliah yang tidak diambil oleh mahasiswa terdaftar (mahasiswa yang terdaftar adalah mahasiswa yang tercatat di tabel mahasiswa).  

    SELECT k.kd_mk, k.nama_mk, sks, semester
    FROM tb_mahasiswa m LEFT JOIN tb_mk a
    ON m.nim = a.nim
    RIGHT JOIN tb_matakuliah k
    ON a.kd_mk = k.kd_mk
    WHERE nama IS NULL