Anda di halaman 1dari 19

Tugas Relationship JOIN dan Union

Nama: Khosy Zufar Annaafi


NIM: 193140914111071
Kelas: S4B

Latihan
1. Buatlah database relationship

2. Buat tabel dengan memasukkan kode sql


CREATE TABLE karyawan( Nama varchar(30) NOT NULL, id_dep int(5) NOT
NULL )ENGINE = MyISAM;
CREATE TABLE departemen( id_dep int(5) NOT NULL, nama_dep varchar(30) NOT
NULL, PRIMARY KEY(id_dep) )ENGINE = MyISAM;
3. Insert data pada tabel departemen

4. Insert data pada table karyawan

5. Coba INNER JOIN sesuai sql, hasilnya seperti gambar dibawah


SELECT k.nama, d.nama_dep FROM karyawan k INNER JOIN departemen d ON
k.id_dep = d.id_dep

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;

9. Coba INNER JOIN sesuai sql, hasilnya seperti gambar dibawah


SELECT * FROM karyawan CROSS JOIN departemen;
10. Buat tabel karyawan2 untuk UNION

11. Insert data pada tabel karyawan2

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

2. Tambahkan kolom nama dan jenis_kelamin setelah nim

3. Drop kolom telepon

4. Hasil proses poin 2 dan 3


5. Insert data pada tabel student

6. Buat tabel baru dengan nama matakuliah

7. Insert data pada tabel matakuliah


8. Buat tabel baru dengan nama ambil_mk

9. Buat relasi tabel antara ambil_mk dan matakuliah

10. Insert data pada tabel ambil_mk


11. Dapatkan banyak mahasiswa yang mengambil matakuliah. Selesaikan dengan pendekatan
join eksplisit dan implisit
Eksplist
SELECT COUNT(DISTINCT student.nim) AS mahasiswayangmengambilmatakuliah
FROM student INNER JOIN ambil_mk WHERE student.nim = ambil_mk.nim

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

2. Buat tabel dengan nama tabel_instruktur

3. Insert data pada tabel_instruktur


4. Buat tabel baru dengan nama matakuliah

5. Insert data pada tabel matakuliah

6. Buat tabel baru dengan nama ambil_mk


7. Buat relasi dengan tabel tabel_instruksi dan matakuliah

8. Insert data pada tabel ambil_mk

9. Tampilkan kd_mk dan mata kuliah yang jumlah mahasiswanya 40.


SELECT matakuliah.kode_mk, matakuliah.nama_mk, ambil_mk.jml_mhs FROM
matakuliah INNER join ambil_mk ON matakuliah.kode_mk = ambil_mk.kode_mk
WHERE jml_mhs = 40
10. Tampilkan data Instruktur yang mengajarkan ‘Basis Data’
SELECT matakuliah.kode_mk, matakuliah.nama_mk, tabel_instruksi.nip,
tabel_instruksi.nama_ins, tabel_instruksi.jurusan, tabel_instruksi.asal_kota FROM
matakuliah INNER join ambil_mk ON matakuliah.kode_mk = ambil_mk.kode_mk
INNER JOIN tabel_instruksi ON ambil_mk.nip = tabel_instruksi.nip WHERE nama_mk
= 'Basis Data'

11. Tampilkan data Instruktur yang tidak mengajar.


SELECT tabel_instruksi.nip, nama_ins, ambil_mk.kode_mk FROM tabel_instruksi
LEFT OUTER JOIN (matakuliah LEFT OUTER JOIN ambil_mk ON
matakuliah.kode_mk = ambil_mk.kode_mk) ON tabel_instruksi.nip = ambil_mk.nip
WHERE ambil_mk.kode_mk IS NULL
Tugas Praktikum 2.2
1. Buat database cashier

2. Buat tabel dengan nama customer

3. Insert data pada tabel customer


4. Buat tabel dengan nama orders

5. Membuat relasi tabel antara tabel orders dan customer

6. Insert data pada tabel order


7. Coba INNER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT * FROM customer INNER JOIN orders ON customer.customer_id =
orders.customer_id

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

12. Buat tabel baru dengan nama customer2

13. Insert data pada tabel customer2


14. Coba INNER JOIN sesuai sql, hasilnya seperti gambar dibawah
SELECT customer_id, customer_name FROM customer UNION SELECT customer_id,
customer_name FROM customer2

Anda mungkin juga menyukai