Apa itu Join di DBMS?
Bergabung di DBMS adalah operasi biner yang memungkinkan Anda menggabungkan produk dan pemilihan gabungan dalam satu pernyataan. Tujuan membuat kondisi gabungan adalah membantu Anda menggabungkan data dari dua atau lebih tabel DBMS. Tabel di DBMS dikaitkan menggunakan kunci utama dan kunci asing.
Dalam tutorial DBMS ini, Anda akan mempelajari:
- Jenis Gabung
- Gabung Batin
- Theta Bergabung
- EQUI bergabung:
- Bergabung Alami (⋈)
- Gabung Luar
- Gabungan Luar Kiri (A B)
- Gabungan Luar Kanan (A B)
- Gabungan Luar Penuh (A B)
Jenis Gabung
Ada dua jenis gabungan di DBMS:
- Inner Bergabung: Theta, Natural, EQUI
- Gabungan Luar: Kiri, Kanan, Penuh
Mari kita lihat secara detail:
Gabung Batin
INNER JOIN digunakan untuk mengembalikan baris dari kedua tabel yang memenuhi kondisi yang diberikan. Ini adalah operasi gabungan yang paling banyak digunakan dan dapat dianggap sebagai tipe gabungan default
Gabung Batin atau ekuivalen adalah gabungan berbasis komparator yang menggunakan perbandingan kesetaraan dalam predikat gabungan. Namun, jika Anda menggunakan operator perbandingan lain seperti ">", ini tidak bisa disebut equijoin.
Inner Join dibagi lagi menjadi tiga subtipe:
- Theta bergabung
- Gabungan alami
- EQUI bergabung
Theta Bergabung
THETA JOIN memungkinkan Anda untuk menggabungkan dua tabel berdasarkan kondisi yang diwakili oleh theta. Theta bergabung bekerja untuk semua operator pembanding. Ini dilambangkan dengan simbol θ . Kasus umum operasi JOIN disebut gabungan Theta.
Sintaksis:
A ⋈θ B
Bergabung dengan Theta dapat menggunakan kondisi apa pun dalam kriteria pemilihan.
Perhatikan tabel berikut.
Tabel A | Tabel B | |||
kolom 1 | kolom 2 | kolom 1 | kolom 2 | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
Sebagai contoh:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. kolom 2> B. kolom 2 (B) | |
kolom 1 | kolom 2 |
1 | 2 |
Gabung EQUI
EQUI JOIN dilakukan ketika gabungan Theta hanya menggunakan kondisi ekivalen. Gabungan EQUI adalah operasi yang paling sulit untuk diterapkan secara efisien dalam RDBMS, dan salah satu alasan mengapa RDBMS memiliki masalah kinerja yang penting.
Sebagai contoh:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. kolom 2 = B. kolom 2 (B) | |
kolom 1 | kolom 2 |
1 | 1 |
Bergabung Alami (⋈)
NATURAL JOIN tidak menggunakan operator pembanding mana pun. Dalam jenis gabungan ini, atribut harus memiliki nama dan domain yang sama. Dalam Natural Join, setidaknya harus ada satu atribut umum antara dua relasi.
Itu melakukan seleksi membentuk persamaan pada atribut-atribut yang muncul di kedua relasi dan menghilangkan atribut duplikat.
Contoh:
Perhatikan dua tabel berikut
C | |
Num | Kotak |
2 | 4 |
3 | 9 |
D | |
Num | kubus |
2 | 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
Num | Kotak | kubus |
2 | 4 | 8 |
3 | 9 | 18 |
Gabung Luar
Sebuah Outer JOIN tidak memerlukan setiap record dalam dua bergabung tabel untuk memiliki catatan yang cocok. Dalam tipe gabungan ini, tabel mempertahankan setiap rekaman meskipun tidak ada rekaman lain yang cocok.
Tiga jenis Gabungan Luar adalah:
- Gabung Luar Kiri
- Gabung Luar Kanan
- Gabung Luar Penuh
Gabungan Luar Kiri (A B)
LEFT JOIN mengembalikan semua baris dari tabel di sebelah kiri meskipun tidak ada baris yang cocok ditemukan pada tabel di sebelah kanan. Ketika tidak ada catatan yang cocok ditemukan di tabel di sebelah kanan, NULL dikembalikan.
Perhatikan 2 Tabel berikut
SEBUAH | |
Num | Kotak |
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | kubus |
2 | 8 |
3 | 18 |
5 | 75 |
A B
A ⋈ B | ||
Num | Kotak | kubus |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Gabungan Luar Kanan (A B)
RIGHT JOIN mengembalikan semua kolom dari tabel di sebelah kanan meskipun tidak ada baris yang cocok ditemukan dalam tabel di sebelah kiri. Jika tidak ada kecocokan yang ditemukan pada tabel di sebelah kiri, NULL dikembalikan. RIGHT outer JOIN adalah kebalikan dari LEFT JOIN
Dalam contoh kita, anggaplah Anda perlu mendapatkan nama anggota dan film yang mereka sewa. Sekarang kami memiliki anggota baru yang belum menyewa film apa pun.
A B
A ⋈ B | ||
Num | kubus | Kotak |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Gabungan Luar Penuh (A B)
Dalam FULL OUTER JOIN , semua tupel dari kedua relasi disertakan dalam hasil, terlepas dari kondisi pencocokannya.
Contoh:
A B
A ⋈ B | ||
Num | Kotak | kubus |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Ringkasan:
- Terutama ada dua jenis join di DBMS 1) Inner Join 2) Outer Join
- Gabungan dalam adalah operasi gabungan yang banyak digunakan dan dapat dianggap sebagai tipe gabungan default.
- Inner Join dibagi lagi menjadi tiga subtipe: 1) Theta join 2) Natural join 3) EQUI join
- Theta Join memungkinkan Anda untuk menggabungkan dua tabel berdasarkan kondisi yang diwakili oleh theta
- Ketika sebuah gabungan theta hanya menggunakan kondisi ekivalen, itu menjadi sebuah gabungan eku.
- Gabungan alami tidak menggunakan operator pembanding mana pun.
- Gabungan luar tidak memerlukan setiap rekaman dalam dua tabel gabungan untuk memiliki rekaman yang cocok.
- Gabungan Luar dibagi lagi menjadi tiga subtipe yaitu: 1) Gabungan Luar Kiri 2) Gabungan Luar Kanan 3) Gabungan Luar Penuh
- Gabung Luar KIRI mengembalikan semua baris dari tabel di sebelah kiri, bahkan jika tidak ada baris yang cocok ditemukan di tabel di sebelah kanan.
- Gabungan Luar KANAN mengembalikan semua kolom dari tabel di sebelah kanan, bahkan jika tidak ada baris yang cocok ditemukan dalam tabel di sebelah kiri.
- Dalam gabungan luar penuh, semua tupel dari kedua relasi disertakan dalam hasil, terlepas dari kondisi pencocokannya.