Joint Table
Pada modul sebelumnya anda telah mampu menyelesaikan data menggunakan perintah SQL-SELECT yang berasal dari satu tabel. Pada modul ini akan diperkenalkan penggunaan perrintah SELECT yang melibatkan beberapa tabel sekaligus.. Operasi ini biasanya dikenal dengan sebutan JOIN.
Untuk dapat bekerja dengan menggunakan Operasi Join, harus dapat field yang berelasi antar tabel yang akan di kenai JOIN. Untuk memudahkan anda dalam memahami JOIN akan diambil contoh tabel rJenis, rSatuan dan rBarang yang masing-masing tabel mempunyai field yang berelasi.
- Relasi Field Antar Tabel
InnerJoin adalah operasi yang sering digunakan. Operasi ini akan menampilkan data dimana dua tabel mempunyai nilai field yang sama. Jadi yang akan ditampilkan dari operasi ini adalah baris record yang memiliki pasangan nilai yang sama. Contoh berikut akan menampilkan data tabel bardasarkan keterangan jenis yang diambil dari tabel rJenis. Perhatikan contoh berikut:
SELECT rBarang IDBarang,
rBarang. NamaBarang,
FROM rBarang INNER JOIN rJenis
ON rBarang. IDJenis=rJenis. IDJenis
Perintah diatas dapat djalankan dalam bentuk perintah seperti berikut, dengan menghasilkan keluaran yang sama.
SELECT rBarang. IDBarang,
rBarang. NamaBarang,
rJenis. Jenis
FROM rBarang INNER JOIN rJenis
WHERE rBarang. IDJenis=rJenis. IDJenis
Atau dengan menggunakan Alias Tabel untuk menyederhanakan pemanggilan:
SELECT rBarang. IDBarang,
a. NamaBarang,
b. Jenis
FROM rBArang INNER JOIN rJenis
WHERE a. IDJenis=b. IDJenis
Setelah dua atau lebih di relasikan berdasarkan field yang sama anda dapat mengambil field dari setiap tabel yang ada denga perintah SELECT, maupun menyeleksi berdasarkan kondisi tertentu. Untuk lebih memahami inner join ini, selanjutnya anda dapat menjalankan perintah-perintah berikut:
SELECT rBarang. IDBarang
rBArang. NamaBarang,
rSatuan. Satuan
FROM rBarang, rSatuan
WHERE rBarang. IDSatuan=rSatuan . IDSatuan
Perintah berikut melibatkan 3 tabel:
SELECT rBarang. IDBarang,
rBarang. NamaBarang,
rJenis. Jenis,
rSatuan. Satuan
FROM rBarang, rJenis, rSatuan
WHERE rBarang. IDJenis=rJenis. IDJenis
AND rBarang. IDSataun=rSatuan. IDSatuan
Menggunakan kriteria tertentu, yaitu dengan satuan biji:
SELECT rBarang. IDBarang,
rBarang. NamaBarang,
rJenis.Jenis,
rSatuan. Satuan
FROM rBarang, rJenis, rSatuan
WHERE rBarang . IDJenis=rJenis. IDJenis
AND rBarang. IDSatuan=rSataun. IDSatuan
AND rSatuan. Satuan=’ Biji ’
Menyeleksi yang jenis barangnya makanan:
SELECT rBarang. IDBarang,
rBarang. NamaBarang,
rJenis. Jenis,
rSatuan. Satuan
FROM rBarang, rJenis, rSatuan
WHERE rBarang. IDJenis=rJenis. IDJenis
AND rBarang. IDSatuan=rSatuan. IDSatuan
AND renis . Jenis=’ Makanan ‘
Menyeleksi yang jenis barangnya bukan makanan:
SELECT rBarang. IDBarang,
rBarang. NamaBarang,
rJenis . Jenis,
rSatuan . Satuan
FROM rBarang, rJenis, rSatuan
WHERE rBarang . IDJenis=rJenis . IDJenis
AND rBarang . IDSatuan=rSatuan . IDSatuan
AND rJenis .Jenis<> ‘ Makanan ‘
7.2 Outner Join
Peritah Outner Join ini hanpir sama dengan Inner Join, bedanya adalah bahwa beris record yang tidak memiliki pasangan akan terap di tampilkan. Jenis outner join ini di bagi menjadi 3, yaitu:
1. Left Outner Join
Menampilkan seluruh tabekiri dan tabel sebelah kanan yang mempunyai sepasang nilai dan jika tabel di sebelah kanan tidak punya nilai akan sitampikan NULL. Jika gambar dalam bentuk himpunan adalah sebagai berikut:
7.3 Himpunan Left Outner Join
Berikut perintah LEFT JOIN :
SELECT rJenis. Jenis,
rBarang . IDBarang,
rBarang . NamaBarang
FROM rJenis LEFT JOIN rBarang
WHERE rBarang . IDJenis=rJenis . IDJenis
ON rJenis . IDJenis=rBarang . IDJenis
2. Right Outner Join
Menampilkan seluruh tabel disebelah kanan dan tabel dusebelah kiri yang mempunyai pasangan nilai dan jika tabel disebelah kiri tidak punya nilai akan ditampilkan NULL. Jika gambar dalam bentuk himpunan adalah sebagai berikut:
7.4 Himpunan Right Outner Join
Berikut perintah Right Join :
SELECT rJenis.Jenis,
rBarang. IDBarang,
rBarang . NamaBarang
FROM rJenis RIGHT JOIN rBarang
ON rJenis . IDJenis=rBarang . IDJenis
3. Full Outner Join
Menampilkan seluruh tabel disebelah kanan dan tabel sebelah kiri baik yang mempunyai pasangan nilai maupun tidak. Jika gambar dalam bentuk himpunan adalah sebagai berikut:
7.5 Himpunan FULL Outner Join
Berikut Perintah FULL JOIN:
SELECT rJenis.Jenis,
rBarang. IDBarang,
rBarang . NamaBarang
FROM rJenis FULL JOIN rBarang
ON rJenis . IDJenis=rBarang . IDJenis
7.3 Cross JOIN
Merupakan operasi perkalian, dengan mengkombinasikan setiap baris di tabel sebelah kiri dengan isi tabel sebelah kanan. Jika tabel di sebelah kiri berjumlah 10 record dan tabel sebelah kanan berjumlah
8, maka record yang dihasilkan dari perintah ini adalah 80 record. Perhatian contoh berikut:
SELECT rJenis.Jenis,
rBarang. IDBarang,
rBarang . NamaBarang
FROM rJenis CROSS JOIN rBarang
7.4 Sub Query
Sub Query diartikan sebagai penggunaan perintah selecct didalam perintah select yang lain. Perhatikan contoh berikut:
SELECT *
FROM rBarang
WHERE IDJenis
IN (SELECT IDJenis FROM rJenis)
7.5 UNION
Operasi UNION diergunakan untuk menggabungkan dua operasi selection menjdi satu Output. Perhatikan contoh berikut:
SELECT IDBarang, NamaBarang, IDJenis
FROM rBarang
WHERE IDJenis=1
UNION
SELECT IDBarang, NamaBarang,IDJenis
FROM rBarang
WHERE IDJenis=3