SQL Join
SQL Join
SQL Join
Basis Data
SQL Joins
Inner Join
Left Join
Right Join
(INNER) JOIN: Returns records that have matching values in both tables
LEFT (OUTER) JOIN: Return all records from the left table, and the matched records from the right table
RIGHT (OUTER) JOIN: Return all records from the right table, and the matched records from the left table
FULL (OUTER) JOIN: Return all records when there is a match in either left or right table
Source: https://www.w3schools.com/sql/sql_join.asp
Inner Join
• (INNER) JOIN: Returns records that have matching values in both tables
• Sintaks Inner Join:
Source: https://www.w3schools.com/sql
Inner Join
• e.g.
Table a Table b
Left Join
• LEFT (OUTER) JOIN: Return all records from the left table, and the matched records
from the right table. The OUTER keyword is optional and typically omitted.
Source: https://www.w3schools.com/sql
Left Join
• e.g
Table a Table b
Right Join
• RIGHT (OUTER) JOIN: Return all records from the right table, and the matched
records from the left table.
Source: https://www.w3schools.com/sql
Right Join
• e.g.
Table a Table b
Full Join
• FULL (OUTER) JOIN: Return all records when there is a match in either left or right table
• MySQL tidak menyediakan query full join, akan tetapi bisa diatasi dengan menggunakan
operator UNION
• The UNION operator is used to combine the result-set of two or more SELECT statements.
• Each SELECT statement within UNION must have the same number of columns
• The columns must also have similar data types
• The columns in each SELECT statement must also be in the same order
Source: https://www.w3schools.com/sql
Full Join
• UNION
SELECT column_name(s) FROM table1 SELECT id, nama, a.id_dep, b.id_dep,
UNION nama_dep
FROM a
SELECT column_name(s) FROM table2; RIGHT JOIN b ON a.id_dep=b.id_dep
UNION
Inner Join:
Latihan
• Contoh join ke lebih dari satu tabel
2. Dari tabel manajer kita ingin mengetahui nama manajer sekaligus nama departemennya.
Tabel manajer Apa yang harus
dilakukan supaya
kita bisa
mengetahui nama
manajer dan
departemennya?
• Kita harus melakukan join ke tabel yang ada informasi nama karyawan dan nama departemen. Berarti kita akan join ke
2 tabel berbeda, yaitu ke tabel “karyawan” untuk mendapatkan nama karyawan dan ke tabel departemen untuk
mendapatkan nama departemen.
Latihan
• Contoh join ke lebih dari satu tabel
2. Dari tabel manajer kita ingin mengetahui nama manajer sekaligus nama departemennya (lanjutan)
Soal Latihan
1. Buatlah query join untuk mengetahui nama sekretaris dengan hasil query seperti
gambar berikut:
Soal Latihan
2. Buatlah query join untuk mengetahui nama teknisi sekaligus dengan nama
proyek yang sedang dikerjakannya, dengan hasil query seperti gambar berikut:
Terima kasih!