You are on page 1of 17

SQL Joins

Basis Data
SQL Joins

Inner Join

Left Join

Right Join

Full Outer Join


SQL Joins

(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: Murach’s MySQL 3rd Edition

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: Murach’s MySQL 3rd Edition

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: Murach’s MySQL 3rd Edition

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

SELECT id, nama, a.id_dep, b.id_dep,


nama_dep
FROM a
LEFT JOIN b ON a.id_dep=b.id_dep
Latihan
1. Dari tabel manajer kita ingin mengetahui nama manajernya.
Tabel manajer Apa yang harus
dilakukan supaya
kita bisa
mengetahui nama
manajernya?

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!

You might also like