Anda di halaman 1dari 9

SISTEM BASIS DATA

PRAKTIKUM 13
SQL JOIN

Disusun oleh:
Nama : Hadi Kurniawan
NIM : G41180789
Golongan :A

Dosen Pengampu:
Mudafiq Riyan Pratama, S.Kom, M.Kom

PROGRAM STUDI REKAM MEDIK

JURUSAN KESEHATAN
POLITEKNIK NEGERI JEMBER
2019
Praktikum 13

Dalam praktikum ini, menggunakan sample dataset Sakila, dengan mengunduh file
sakila.zip kemudian ekstrak file tersebut, dan akan mendapatkan dua file: sakila-schema.sql dan
sakila-data.sql. Kedua file tersebut, simpanlah pada alamat direktori C:\sakila, sehingga struktur
filenya sebagai berikut:

C:
├── sakila
│ ├── sakila-schema.sql
│ └── sakila-data.sql

1) LEFT JOIN 2 TABEL

Tabel customer terdapat kolom address_id yang mana kolom tersebut merujuk
pada tabel address. Tampilkan data: first_name, last_name, address, district, sehingga
membutuhkan dua tabel yang saling berhubungan tersebut, yaitu antara tabel customer
dan address.
SELECT first_name, last_name, address, district FROM customer LEFT
JOIN address ON customer.address_id = address.address_id;
Sehingga akan didapatkan data sebagai berikut:

LEFT JOIN merupakan perintah untuk menampilkan semua data dari tabel
sebelah kiri yang dihubungkan dengan tabel kanan yang cocok dengan kondisi, jika tidak
ditemukan kecocokan, maka akan di set NULL secara otomatis.

2) RIGHT JOIN 2 TABEL


Pada kasuspraktikum nomor 1, diganti dengan RIGHT JOIN, terdapat perbedaan
JOIN yang berfungsi untuk menampilkan semua data yang ada di table sebelah kanan dan
mencari kecocokan key pada table sebelah kiri. Jika tidak ditemukan kecocokan, maka
akan di set NULL secara otomatis pada table sebelah kiri.
3) INNER JOIN 2 TABEL
Pada kasus yang sama dengan praktikum nomor 1, perintah diganti dengan INNER
JOIN. INNER JOIN adalah tipe join yang akan mengambil semua baris dari tabel 1 dan
tabel 2 yang memenuhi syarat, yaitu hanya kondisi yang nilai key nya tersedia.
4) LEFT JOIN 3 TABEL

Tampilkan data: first_name, last_name, address, district, city yang berasal dari
ketiga tabel di atas menggunakan perintah:

SELECT first_name, last_name, address, district, city FROM customer LEFT


JOIN address ON customer.address_id=address.address_id LEFT JOIN city ON
address.city_id = city.city_id;

Maka didapatkan hasil sebagai berikut:


5) INNER JOIN 3 TABEL
Melanjutkan kasus di nomor 4, gunakan INNER JOIN, dengan menggunakan
perintah:

SELECT first_name, last_name, address, district, city FROM customer


INNER JOIN address ON customer.address_id=address.address_id INNER JOIN
city ON address.city_id = city.city_id;

Maka akan menghasilkan:


6) LEFT JOIN 4 TABEL

melakukan join 4 tabel pada data: first_name, last_name, address, district, city,
country pada 4 tabel di atas. Dengan perintah:
SELECT first_name, last_name, address, district, city, country FROM
customer INNER JOIN address ON customer.address_id=address.address_id
INNER JOIN city ON address.city_id = city.city_id LEFT JOIN country on
city.country_id=country.country_id;

Maka akan mengasilkan:


7) LATIHAN-LATIHAN
7.1 Menampilkan judul film dan tahun rilisnya beserta nama aktornya (first_name,
last_name) yang judul filmnya berawalan huruf A. Dengan perintah:

SELECT title,release_year,first_name, last_name FROM film INNER


JOIN film_actor ON film.film_id = film_actor.film_id INNER JOIN actor
ON film_actor.actor_id=actor.actor_id where title like"A%";

Maka akan menhasilkan:

7.2 Menampilkan data customer yang menyewa film, judul film yang dipinjam oleh
customer tersebut, beserta tanggal pinjam dan tanggal pengembalian. Dengan
aturan tampilkan 200 data yang dibagi menjadi 4 halaman dengan perintah:

select customer.customer_id, first_name, last_name, film.film_id, title,


rental_date, return_date from customer inner join rental on
customer.customer_id = rental.customer_id inner join inventory on
inventory.inventory_id = rental.inventory_id inner join film on
inventory.film_id = film.film_id limit 10;
maka akan menghasilkan:

KESIMPULAN
Pada praktikum sistem basis data praktikum 13 disini saya dapat mengetahui
perintah-perintah join atau untuk menghubungkan data yang diambil dari tabel-tabel melalui
sebuah kolom yang menghubungkannya seperti INNER JOIN, LEFT JOIN, RIGHT
JOIN, FULL JOIN.

perbedaan dari keempat perintah tersebut adalah:

 INNER JOIN
Adalah suatu tipe join yang akan menampikan semua data yang mempunyai
nilai yang sama pada semua baris dari tabel A dan tabel B yang memenuhi syarat
kondisi nilai key

 LEFT JOIN
Adalah suatu perintah untuk menampikan seluruh data yang terdapat pada
tabel sebelah kiri yang akan di hubungkan dengan tabel sebelah kanan yang sesuai
dengan kondisi key , apabila tidak ditemukan kecocokan data maka akan otomatis
keluar NULL.

 RIGHT JOIN
Sedangkan right join digunakan untuk menampikan seluruh data yang terdapat pada tabel
sebelah kanan dan dihubungkan dengan tabel sebelah kiri yang cocok dengan kondisi key, apabila
pada tabel sebelah kiri tidak ditemukan kesamaan maka akansecara otomatis terisi NULL pada tabel
sebelah kiri

Anda mungkin juga menyukai