Latihan
1. Buatlah database relationship
6. Coba LEFT OUTER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT * FROM karyawan k LEFT OUTER JOIN departemen d ON k.id_dep =
d.id_dep;
7. Coba RIGHT OUTER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT * FROM karyawan k RIGHT OUTER JOIN departemen d ON k.id_dep =
d.id_dep;
8. Coba FULL OUTER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT * FROM karyawan k LEFT OUTER JOIN departemen d ON k.id_dep =
d.id_dep UNION SELECT * FROM karyawan k RIGHT OUTER JOIN departemen d
ON k.id_dep = d.id_dep;
12. Coba INNER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT nama, id_dep FROM karyawan UNION SELECT nama, id_dep FROM
karyawan2;
Tugas Praktikum 1
1. Gunakan database test_database dan pilih tabel student
Implisit
SELECT COUNT(DISTINCT student.nim) AS mahasiswayangmengambilmatakuliah
FROM student, ambil_mk WHERE student.nim = ambil_mk.nim
12. Kelompokan data mahasiswa yang tidak mengambil matakuliah berdasarkan jenis
kelaminnya, kemudian hitung banyaknya.
SELECT student.jenis_kelamin, COUNT(student.jenis_kelamin) AS jumlah FROM
student LEFT JOIN ambil_mk ON student.nim = ambil_mk.nim WHERE ambil_mk.nim
IS NULL GROUP BY student.jenis_kelamin
13. Dapatkan nim dan nama mahasiswa yang mengambil matakuliah beserta kode_mk dan
nama_mk yang diambilnya. Selesaikan dengan pendekatan join eksplisit dan implisit.
SELECT student.nim, student.nama, matakuliah.kode_mk, matakuliah.nama_mk FROM
student INNER JOIN ambil_mk ON student.nim = ambil_mk.nim INNER JOIN
matakuliah ON ambil_mk.kode_mk = matakuliah.kode_mk
Eksplisit
Implisit
SELECT student.nim, student.nama, matakuliah.kode_mk, matakuliah.nama_mk FROM
student, ambil_mk, matakuliah WHERE student.nim = ambil_mk.nim AND
ambil_mk.kode_mk = matakuliah.kode_mk
14. Dapatkan nim, nama, dan total sks yang diambil oleh mahasiswa, Dimana total sksnya
lebih dari 4 dan kurang dari 10.
SELECT student.nim, student.nama, SUM(sks) AS total_sks FROM student, ambil_mk,
matakuliah WHERE student.nim = ambil_mk.nim AND ambil_mk.kode_mk =
matakuliah.kode_mk GROUP BY nama HAVING SUM(sks) > 4 AND SUM(sks) < 10
15. Dapatkan data matakuliah yang tidak diambil oleh mahasiswa terdaftar (mahasiswa yang
terdaftar adalah mahasiswa yang tercatat di tabel mahasiswa).
SELECT matakuliah.kode_mk, matakuliah.nama_mk, sks, semester FROM student
LEFT JOIN ambil_mk ON student.nim = ambil_mk.nim RIGHT JOIN matakuliah ON
ambil_mk.kode_mk = matakuliah.kode_mk WHERE nama IS NULL
Tugas Praktikum 2.1
1. Buat database baru dengan nama universitas
8. Coba LEFT OUTER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT * FROM customer LEFT OUTER JOIN orders ON customer.customer_id =
orders.customer_id
9. Coba RIGHT OUTER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT * FROM customer RIGHT OUTER JOIN orders ON customer.customer_id =
orders.customer_id
10. Coba FULL OUTER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT * FROM customer LEFT OUTER JOIN orders ON customer.customer_id =
orders.customer_id UNION SELECT * FROM customer RIGHT OUTER JOIN orders
ON customer.customer_id = orders.customer_id
11. Coba CROSS JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT * FROM customer CROSS JOIN orders