Dokumen tersebut membahas tentang penggunaan join pada multiple table dalam SQL. Secara umum dijelaskan tentang penggunaan basic join, inner join, dan cross join untuk menghubungkan data antar tabel music, studio, dan album. Diuraikan pula contoh syntax join untuk mengambil data dari lebih dari satu tabel.
4. CREATE table MUSIC
( musicID INT NOT NULL PRIMARY KEY, judul VARCHAR
(50) NOT NULL, ThnTerbit YEAR NOT NULL)
ENGINE =INNODB;
musicID
judul
ThnTerbit
11001
Tak ada yang abadi
2005
22002
Diantara Kalian
2006
33003
Jangan Menyerah
2005
44004
Sang Mantan
2008
55005
Saat Kau Jauh
2009
66006
Okelah Kalo Begitu
2007
77007
Menghapus Jejakmu
2007
Implementasi tabel 1
Agus Andri Putra, ST.
5. CREATE table STUDIO
( studioID INT NOT NULL PRIMARY KEY, NamaStudio VARCHAR (50)
NOT NULL, PemilikStudio VARCHAR (50) NOT NULL)
ENGINE =INNODB;
studioID
NamaStudio
PemilikStudio
10
Sonny Music
Sonny
11
Abadi Music
Abdi
12
Sunny Music
Mutia
13
Ceria Studio
Risna
14
Persib Studio
Kadiman
15
Burning Studio
Audy
16
Logitect Spectrum
Taufik
Implementasi Tabel 2
Agus Andri Putra, ST.
6. CREATE table ALBUM
( studioID INT NOT NULL, musicID INT NOT NULL, PRIMARY KEY
(studioID,musicID),
FOREIGN KEY (studioID) REFERENCES studio(studioID),
FOREIGN KEY (musicID) REFERENCES music(musicID)
)
ENGINE =INNODB;
Kemudian isi dengan :
Jika dilihat dari keseluruhan tabel, bahwa relasi N ke N terjadi antara tabel
music dan studio sehingga terbentuk tabel baru berupa tabel album yang
berisi PRIMARY KEY dari kedua tabel tersebut
Implementasi Tabel 3
Agus Andri Putra, ST.
8. Secara umum basic clausanya adalah :
<table reference>,<table reference>[{,<table reference>}...]
Sehingga pemanggilan SQL untuk data yang telah kita buat tadi
adalah :
SELECT judul, ThnTerbit, studioID FROM music,studio
ORDER BY judul;
Untuk meminimalkan duplikasinya bisa dengan query :
SELECT judul, ThnTerbit, studioID
FROM music AS M, album AS A
WHERE M.musicID=A.musicID
ORDER BY judul;
Basic Join
Agus Andri Putra, ST.
9. Maka jika lebih dari 2 tabel
SELECT judul, ThnTerbit, S.studio AS Studio
FROM music AS M, studio AS S,album AS A
WHERE M.musicID=A.musicID AND
S.studioID=A.studioID AND ThnTerbit<2006
ORDER BY judul;
Basic Join
Agus Andri Putra, ST.
10. Proses INNER JOIN dan CROSS JOIN pada umumnya
menghasilkan nilai yang sama dengan basic join, namun
dengan adanya dua syntax tersebut dapat
menyederhanakan syntax yang panjang pada proses basic
join.
Secara umum syntax nya adalah sebagai berikut:
Inner Join dan Cross join
Agus Andri Putra, ST.
11. Selanjutnya kita akan menggunakan JOIN, INNER JOIN
dan CROSS JOIN
SELECT judul, studioID FROM music JOIN studio;
SELECT judul, studioID FROM music INNER JOIN
studio;
SELECT judul, studioID FROM music CROSS JOIN
studio;
Setiap syntax diatas akan menghasilkan nilai yang sama
namun dalam menentukan apa yang akan kita inginkan
harus menggunakan kondisi seperti WHERE, namun pada
INNER JOIN dan CROSS JOIN ini yang akan kita gunakan
adalah USING atau ON sebagai pengganti WHERE;
Agus Andri Putra, ST.
12. SELECT judul , ThnTerbit, A.studioID
FROM music AS M JOIN album AS A
ON M.musicID=A.musicID
ORDER BY
judul;
Contoh penggunaan INNER JOIN atau CROSS JOIN
menggunakan lebih dari dua tabel;
Inner,Cross Join
Agus Andri Putra, ST.
13. Atau bisa menggunakan synax :
Inner, Cross Join
Agus Andri Putra, ST.