Anda di halaman 1dari 3

Bahan Ajar Basis Data XII

Select Multitable

Adakalanya seorang DBA membuat beberapa query ke database untuk


pencocokan data saja seperti mengambil data pada tabel ke 1, ke 2, ke 3, dan
seterusnya. Dengan acuan data pada tabel ke 4 dengan cara membuat Query
berulang-ulang. Jika dilihat sekilas, metode tersebut kurang efektif karena terlalu
banyak kode yang harus ditulis, meskipun bisa menggunakan satu Query saja.
Menampilkan data merupakan hal yang sangat penting karena harus melihat dan
menyeleksi data dalam table maupun antar table. Untuk melihat data (Selection),
Query yang digunakan adalah SELECT diikuti beberapa pernyataan khusus yang
berhubungan dengan tabel yang diseleksi.

Select Multitable

SELECT merupakan perintah DML untuk menghasilkan recordset dengan


mengekstrak data dari database. Perintah SELECT ini sering dipakai dan memiliki
bentuk yang kompleks. Bentuk sederhana SELECT sebagai berikut:

SELECT select_list [INTO new_table] FROM table_source [WHERE


search_condition] [GROUP BY group_by_expression] [HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]

Misalnya memiliki tabel pelanggan dengan field (kolom) nama, alamat, kota,
negara, dan telepon. Maka, perintah SQL untuk menampilkan khusus pada field
nama, alamat, dan telepon sebagai berikut:

SELECT nama, alamat, telepon FROM pelanggan;

Namun, apabila ingin menampilkan seluruh field pada tabel pelanggan dapat
menggunakan perintah asterik (*) sebagai berikut:

SELECT * FROM pelanggan;

Fungsi Select Multi Table

Select multi table berfungsi untuk menampilkan data yang berhubungan dari dua
buah table, misalnya ingin menampilkan data nama_siswa dan nama_kelas tiap
siswa. Dalam tabel siswa, nama kelas siswa ditunjukkan oleh id_kelas agar dapat
melihat langsung nama_kelas tiap siswa, maka perintah select multiple table dapat
digunakan. Dalam syntax from nama table siswa ditulis lebih dahulu
dibandingkan nama table tb_kelas. Hal tersebut menyebabkan data ascending
menurut table tb_kelas.

Perintah Join

Pada SQL terdapat sebuah perintah join yang berfungsi untuk menghubungkan
table yang satu dengan table yang lain yang saling berhubungan atau berelasi.
Tujuannya untuk menampilkan beberapa data dari table yang berbeda dengan
menggunakan satu perintah.
Perintah Join dikategorikan sebagai berikut:

a. Inner Join
Data yang akan ditampilkan pada perintah inner join hanya data yang memiliki
pasangan saja. Sedangkan data pada table yang tidak memiliki sebuah
kesamaan, maka data tersebut tidak akan ditampilkan.
Format penulisan yang digunakan sebagai berikut:

SELECT * FROM tabel1 INNER JOIN tabel2 ON tabel1.PK = tabel2.FK;

Tabel akan digunakan dua arah menggunakan inner join, sehingga tidak ada
data yang NULL di satu sisi.

1. Penggabungan dengan WHERE


Cara penggabungan dengan WHERE menggunakan bentuk umum
sebagai berikut:

SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE


tabel1.PK=tabel2.FK;

2. Penggabungan dengan inner join


3. Cara penggabungan dengan inner join menggunakan bentuk umum
sebagai berikut:

SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON


tabel1.PK=tabel2.FK;

b. Outer Join
Tabel yang akan digabungkan dengan outer join menjadi satu arah, sehingga
terdapat data NULL (kosong) di satu sisi. Secara umum, outer join terbagi
menjadi sebagai berikut:
1. Left Join
Fungsi dari left join hampir sama dengan inner join dan right join. Pada
right join akan membuat sebuah parameter di sebelah kanan, maka
pada left join justru membuat sebuah parameter dari table sebelah kiri,
apabila ada data atau record yang kosong atau tidak berelasi akan berisi
null di sebelah kanan. 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 sebagai berikut:

SELECT tabel1.*, tabel2.* FROM tabel1 LEFT JOIN tabel2 ON


tabel1.PK=tabel2.FK;
2. Right Join
Fungsi dari right join hampir sama dengan inner join, hanya pada right
join akan membuat sebuah parameter di sebelah kanan jika data pada
tabel terdapat data atau record yang kosong atau tidak berelasi, maka
akan berisi NULL.
Bentuk umum right join sebagai berikut:

SELECT tabel1.*, tabel2.* FROM tabel1 RIGHT JOIN tabel2 ON


tabel1.PK=tabel2.FK;

c. Full Join
Full join digunakan untuk menghasilkan baris data jika ada data yang sama
pada salah satu tabel. Bentuk umum:

SELECT kolom(s) FROM tabel1 FULL JOIN tabel2 ON


tabel1.kolom=tabel2.kolom;

Anda mungkin juga menyukai