Tujuan:
1. Menggunakan Bahasa
SQL dengan dua tabel atau lebih
Menggabungkan
Dua Tabel atau Lebih
Jika
kita memperhatikan tabel buku, maka disitu hanya ada field id_buku, id_judul,
no_urut, dan referensi. Bagaimana untuk mengetahui judul bukunya? Sedangkan
judul ada di tabel yang lain. Terkadang atau bahkan sering, kita memang akan
bekerja dengan dua tabel atau lebih. Kalau kita menggabungkan dua tabel atau
lebih, seperti permasalahan di atas hanya menyebut field beserta tabel-tabel
yang digunakan, misalnya perintah berikut:
select
id_judul,judul,no_urut from buku,judul_buku;
maka
akan ditampilkan kesalahan
ERROR
1052: Column: 'id_judul' in field list is ambiguous
Jika
kebetulan nama field id-nya berbeda, atau perintah yang digunakan adalah:
select
buku.id_judul,judul,no_urut from buku,judul_buku;
maka
akan ditampilkan data sebanyak jumlah data buku * jumlah data judul buku, yaitu
dengan menghubungkan tiap id_judul di tabel buku dengan judul yang ada di tabel
judul_buku.
Jika
yang diinginkan adalah data yang bertepatan, yaitu data id_judul yang ada di
tabel buku dihubungkan dengan id_judul yang sama yang ada di tabel judul buku,
maka perintahnya:
SELECT
buku.id_judul,judul,no_urut FROM buku,judul_buku
-> WHERE
buku.id_judul=judul_buku.id_judul;
atau
SELECT
buku.id_judul,judul,no_urut
-> FROM buku INNER JOIN judul_buku
-> ON buku.id_judul=judul_buku.id_judul;
Menampilkan
data judul, nama penerbit dan nama pengarangnya
SELECT
judul, penerbit, nama
FROM
judul_buku
INNER
JOIN penerbit ON judul_buku.id_penerbit = penerbit.id_penerbit
INNER
JOIN pengarang ON judul_buku.kd_pengarang = pengarang.id_pengarang;
SELECT
judul, penerbit
FROM
judul_buku
INNER
JOIN penerbit ON judul_buku.id_penerbit = penerbit.id_penerbit;
SELECT
judul, penerbit
FROM
judul_buku
LEFT
JOIN penerbit ON judul_buku.id_penerbit = penerbit.id_penerbit;
SELECT
judul, penerbit
FROM
judul_buku
RIGHT
JOIN penerbit ON judul_buku.id_penerbit = penerbit.id_penerbit;
Perhatikan
perbedaan ketiga perintah terakhir di atas beserta hasilnya, dan simpulkan.
Cobalah
untuk menghapus data penerbit 'Andi offset' yang ada di tabel penerbit
Kemudian
ulangi ketiga perintah di atas
Perhatikan perbedaan perubahan hasil ketiga
perintah terakhir di atas beserta hasilnya, dan simpulkan.





15.39
Miftahur Rohman


0 komentar:
Posting Komentar