Saya memiliki dua tabel A &; B.
id | name | num
id | date | roll
id di tabel B adalah kunci asing yang berhubungan dengan id di tabel A.
Saya ingin mendapatkan isi dari tabel B dimana id diberikan dan juga bersama dengan data tersebut, saya membutuhkan nama yang id-nya diberikan dari tabel A.
Saya melakukan google dan menemukan beberapa kata kunci aneh LEFT, JOIN tetapi saya tidak bisa memahaminya.
Saya perlu mendapatkan tanggal dan roll dari tabel B dan nama dari tabel A dalam satu query. (id adalah kunci asing)
Plugin yang saya gunakan sayangnya tidak mengizinkan beberapa kueri yang dipisahkan dengan koma, jadi saya perlu melakukan kedua SELECT
dalam satu kueri.
Menggabungkan tabel adalah prinsip dasar dari database relasional. Dalam kasus Anda, A dan B terkait dengan kolom id
, yang berarti Anda dapat menggunakan sintaks yang mirip dengan yang ini:
SELECT a.id, a.name, a.num, b.date, b.roll
FROM a
INNER JOIN b ON a.id=b.id;
INNER JOIN
berarti Anda hanya akan melihat baris di mana ada record yang cocok di A dan B. Jika Anda menginginkan semua baris di A dan record yang cocok di B, Anda dapat mengubah INNER JOIN
menjadi LEFT JOIN
. Sebaliknya, jika Anda menginginkan semua rekaman dari B dan hanya yang cocok dari A, gunakan RIGHT JOIN
. Terakhir, jika Anda membutuhkan semuanya dari kedua tabel, cocok atau tidak, Anda dapat menggunakan FULL JOIN
.
Anda perlu menggabungkan tabel-tabel ini untuk mendapatkan hasil yang Anda inginkan.
SELECT b.*, a.name FROM tableB AS b INNER JOIN tableA as A ON (b.id=a.id);
Query ini akan mengembalikan semua dari Tabel B dan nama
dari Tabel A dimana ID dari Tabel B sama dengan ID dari Tabel A.
Untuk mendapatkan hasil dari dua tabel yang terkait dengan kunci asing, Anda perlu menggabungkan tabel.
Temukan kueri di bawah ini seperti yang Anda inginkan hasilnya:
SELECT name, date, roll
FROM A
INNER JOIN B
ON A.id = B.id;