Pada dasarnya aplikasi yang dibuat itu terdiri atas beberapa tabel. jumlah tabel yang lebih dari satu ini biasanya di sebut dengan multitable, yang tentunya akan menampilkan lebih dari satu tabel (2 tabel).
Select Multitable
SELECT merupakan perintah DML (Data Manipulation Language) untuk menghasilkan
recordset dengan mengekstrak data dari database. Perintah SELECT ini sering dipakai dan
memiliki bentuk yang kompleks. Bentuk sederhana dari SELECT adalah sebagai berikut :
SELECT select_list [INTO table_new] FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_
condition] [ORDER BY order_expression [ASC | DESC] ]
Contoh : Memiliki tabel data_guru dengan field (kolom) nip, nama, alamat. Maka perintah SQLuntuk menampilkan khusus pada field nip, nama, alamat adalah sebagai berikut :
SELECT nip, nama, alamat FROM data_guru
Sebaliknya, jika ingin menampilkan semua, maka perintahnya adalah :
SELECT * FROM data_guru
Fungsi select multiple table adalah untuk menampilkan data yang berhubungan dari dua buah tabel.
Perintah Join
Salah satu cara mengambil data dari beberapa tabel sekaligus dapat
dilakukan dengan menggunakan join. Pada SQL terdapat sebuah perintah join yang
berfungsi untuk menghubungkan tabel yang satu dengan tabel yang lain yang saling
berhubungan atau berelasi. Tujuannya adalah untuk menampilkan beberapa data
dari table yang berbeda dengan menggunakan satu perintah. Join memperbolehkan untuk mengambil data dari
beberapa tabel melalui satu query.
Perintah join dikategorikan menjadi :
- Inner join
- Outer join
- Full join
Inner JoinData yang akan ditampilkan pada perintah inner join hanya data yang memiliki
pasangan saja, sedangkan data pada tabel yang tidak memiliki sebuah kesamaan
maka data tersebut tidak akan ditampilkan. Inner Join identik dengan sebuah
perintah yang digunakan untuk menampilkan sebuah data atau record dengan
menghubungkan dua tabel atau lebih dalam satu perintah.
Format penulisan yang digunakan :
SELECT * FROM table_1 INNER JOIN table_2 ON table_1.PK =
table_2.FK
SELECT * FROM POST INNER JOIN category on post.category_
id=category.id_category;
Penggabungan dengan inner join
SELECT table_1.*, table_2.*
FROM table_1 INNER JOIN table_2
ON table_1.PK=table_2.FK;
Perintah SQL untuk menggabungkan tabelkaryawan dan tabelgaji adalah
sebagai berikut:
SELECT tabelkaryawan.nik, tabelkaryawan.nm, tabelgaji.nik, tabelgajji.jumlah_gaji FROM tabelkaryawan INNER JOIN tabelgaji ON tabelkaryawan.nik=tabelgaji.nik;
Penggabungan dengan WHERE
Cara penggabungan dengan WHERE menggunakan bentuk umum sebagai
berikut:
SELECT table_1.*, table_2.* FROM table_1, table_2
WHERE table_1.PK=table_2.FK;
Penggabungan dengan WHERE
Cara penggabungan dengan WHERE menggunakan bentuk umum sebagai
berikut:
SELECT table_1.*, table_2.* FROM table_1, table_2
WHERE table_1.PK=table_2.FK;
Perintah SQL yang digunakan untuk menggabungkan tabelkaryawan dan tabelgaji sebagai berikut:
SELECT tabelkaryawan.nik, tabelkaryawan.nama, tabelgaji.nik, tabelgaji.jumlah_gaji FROM tabelkaryawan, tabelgaji WHERE tabelkaryawan.nik=tabelgaji.nik;
Outer join
Tabel yang akan digabungkan dengan Outer Join menjadi satu arah, sehingga
terdapat data NULL (kosong) di satu sisi. Misalnya menggabungkan tabelkaryawan dan tabelgaji untuk menampilkan daftar karyawan yang pernah bekerja pada suatu perusahaan tersebut. Secara umum, Outer Join terbagi menjadi
sebagai berikut.
Left Join
Left Join identik dengan suatu perintah yang digunakan untuk mengembalikan
semua nilai dari tabel kiri ditambah dengan nilai dari tabel kanan yang sesuai
(atau null jika tidak ada nilai yang sesuai). Bentuk umum Left Join adalah sebagai berikut:
SELECT table_1.*, table_2.*
FROM table_1 LEFT JOIN table_2
ON table_1.PK=table_2.FK;
Format penulisan query yang digunakan adalah sebagai berikut:
SELECT * FROM table_1 LEFT JOIN table_2 ON table_1.PK =
table_2.FK
SELECT * FROM POST LEFT JOIN category on post.category_
id=category.id_category;
Perintah SQL untuk menggabungkan tabel customer1 dan dt_pesan
menggunakan Left Join adalah sebagai berikut:
SELECT tabelkaryawan.nik, tabelkaryawan.nama, tabelgaji.nik, tabelgaji.jumlah_gaji FROM tabelkaryawan LEFT JOIN tabelgaji ON tabelkaryawan.nik=tabelgaji.nik;
Right Join
Fungsi dari Right Join hampir sama dengan Inner Join, hanya
pada Right Join akan membuat sebuah parameter pada sebelah kanan jika
data pada table terdapat data atau record yang kosong atau tidak berelasi
maka akan berisi NULL.
Bentuk umum Right Join adalah sebagai berikut:
SELECT * FROM table_1 RIGHT JOIN table_2 ON table_1.PK
= table_2.FK
SELECT * FROM POST RIGHT JOIN category on post.category_
id=category.id_category;
Perintah SQL untuk menggabungkan tabelkaryawan dan tabelgaji menggunakan Right Join adalah sebagai berikut:
SELECT tabelkaryawan.nik, tabelkaryawan.nama,
tabelgaji.nik, tabelgaji.jumlah_gaji FROM tabelkaryawan RIGHT JOIN tabelgaji ON tabelkaryawan.nik=tabelgaji.nik;
Full Join
Penggunaan Full Join akan menghasilkan baris data jika ada data yang sama pada
salah satu tabel. Bentuk umum Full Join adalah sebagai berikut:
SELECT column_name(s) FROM table_name1 FULL JOIN table_name2
ON table_name1.column_name=table_name2 column_name
Bagaimana adik-adik, apakah kalian sudah mengerti materi diatas?