XII. MATERI SELECT MULTI TABLE
Basis Data
Select Multi Table
Sudut Pandang Basis Data
Basis data bukan hanya sekedar penyimpanan data secara elektronis dengan
bantuan komputer. Artinya tidak semua bentuk penyimpanan data secara elektronis
bisa disebut basis data. Kita dapat menyimpan dokumen berisi data dalam file
teks dengan program pengolah kata, file spread sheet dan lain-lain, tetapi
tidak dapat disebut sebagai basis data. Karena di dalamnya tidak ada pemilahan
dan pengelompokkan data sesuai jenis dan fungsi data, sehingga akan menyulitkan
pencarian data kelak. Hal yang sangat ditonjolkan dalam basis data adalah
pengaturan, pemilahan, pengelompokkan, dan pengorganisasian data yang akan
disimpan sesuai fungsi dan jenisnya. Pemilahan, pengelompokan, pengorganisasian
dapat berbentuk sejumlah file atau tabel terpisah atau dalam bentuk pendefinisian
kolom- kolom field-field data dalam setiap file dan tabel.
Data Selection
Adapun untuk melihat data (Selection), Query yang digunakan adalah
SELECT diikuti beberapa pernyataan khusus yang berhubungan dengan tabel yang
diseleksi. Pada dasarnya, 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] ]
Misalnya memiliki tabel nilai_siswa dengan field (kolom) nama, kelas,
mapel, nilai, dan keterangan. Maka perintah SQL untuk menampilkan khusus pada
field nama, mapel, dan nilai adalah sebagai berikut.
SELECT Nama, mapel, nilai FROM nilai_siswa
Namun jika ingin menampilkan seluruh field pada tabel Customer1 dapat
menggunakan perintah asterik (*) sebagai berikut.
SELECT * FROM nilai_siswa
Select Multitable
Pada pembuatan suatu aplikasi, terkadang memerlukan tampilan data yang
tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel
sekaligus. Misalnya ingin menampilkan nama buku yang dipinjam oleh siapa dan
siapa petugasnya. Dari contoh tersebut, kita harus dapat menggabungkan minimal
dua tabel, yaitu peminjaman, buku dan anggota. Atau menampilkan data peminjaman
lengkap dengan petugas yang meminjakan, sehingga harus menggabungkan tabel
peminjaman, buku, petugas dan anggota. Data yang tersimpan dalam database dapat
bervariasi dalam hal jumlah dan tingkat kompleksitasnya.
Fungsi Select Multiple Table
Select multiple table berfungsi untuk menampilkan data yang berhubungan
dari dua buah tabel, misalnya ingin menampilkan data nm_siswa dan nm_kelas tiap
siswa. Pada tabel siswa, nama kelas siswa ditunjukkan oleh id_kelas agar dapat
melihat langsung nm_kelas tiap siswa, maka perintah select multiple table dapat
digunakan. Pada syntax from nama tabel siswa ditulis lebih dahulu dibandingkan
nama tabel tb_kelas.
Hal tersebut menyebabkan data ascending menurut table tb_kelas. Misalnya
data dalam tb_kelas pada urutan teratas adalah data BSD. Jika nama table tb_kelas
ditulis lebih dulu maka data yang ditampilkan akan ascending sesuai dengan
tabel siswa.
PERINTAH 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.
Perintah Join dikategorikan menjadi sebagai
berikut:
A. INNER JOIN
Data 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 adalah
sebagai berikut.
SELECT * FROM table_1 INNER JOIN table_2 ON
table_1.PK = table_2.FK
B. OUTER JOIN
Tabel yang akan digabungkan dengan Outer Join menjadi satu arah,
sehingga terdapat data NULL (kosong) di satu sisi. Misalnya menggabungkan tabel
customer1 dan dt_pesan untuk menampilkan daftar customer1 yang pernah melakukan
pemesanan (transaksi). Secara umum, Outer Join terbagi menjadi sebagai berikut.
1)Left Join
LEFT OUTER JOIN dapat ditulis menggunakan
dua cara, yaitu dengan klausa LEFT OUTER JOIN atau cukup dengan klausa LEFT
JOIN saja. Left Join (left outer 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).
2)Right Join
Secara mendasar, 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.
C. 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
Perhatikan bentuk implementasi sebagai berikut:
SELECT reg.nama,reg.email,order.no_order
FROM reg FULL JOIN order ON reg.id=order.id ORDER BY reg.nama
Komentar
Posting Komentar