Mengambil Data Dari Banyak Tabel Dengan SQL Inner Bergabung

Inner bergabung mengembalikan informasi yang muncul dalam dua atau lebih basis data

Inner join adalah gabungan yang paling sering digunakan dalam SQL. Mereka hanya mengembalikan informasi yang ada di dua atau lebih tabel basis data. Kondisi gabungan menentukan rekaman mana yang dipasangkan bersama dan ditentukan dalam klausa WHERE. Misalnya, jika Anda memerlukan daftar driver / pertandingan kendaraan di mana kedua kendaraan dan pengemudi berada di kota yang sama, permintaan SQL berikut menyelesaikan tugas ini:

SELECT lastname, firstname, tag DARI driver, kendaraan WHERE drivers.location = vehicles.location

Berikut hasilnya:

tag firstname nama depan
----------- ------------ ----
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Perhatikan bahwa hasilnya persis apa yang dicari. Adalah mungkin untuk lebih menyaring kueri dengan menentukan kriteria tambahan dalam klausa WHERE. Asumsikan permintaan asli mencocokkan driver dengan kendaraan yang tidak diizinkan untuk dikemudikan (pengemudi truk ke mobil dan sebaliknya). Anda dapat menggunakan kueri berikut untuk menyelesaikan masalah ini:

SELECT lastname, firstname, tag, vehicle.class FROM drivers, vehicle WHERE drivers.location = vehicles.location DAN drivers.class = vehicles.class

Contoh ini menentukan tabel sumber untuk atribut kelas dalam klausa SELECT karena kelasnya ambigu — ia muncul di kedua tabel. Kode biasanya akan menentukan kolom tabel mana yang harus dimasukkan dalam hasil kueri. Dalam hal ini, tidak ada bedanya, karena kolomnya identik dan mereka bergabung menggunakan equijoin. Namun, jika kolom berisi data yang berbeda, perbedaan ini akan sangat penting. Berikut hasil kueri ini:

tag nama belakang tag nama depan
---------- ------------ ---- ------
Baker Roland H122JM Mobil
Smythe Michael D824HA Truck
Jacobs Abraham J291QR Car

Baris-baris yang hilang itu memadankan Michael Smythe ke sebuah mobil dan Abraham Jacobs ke sebuah truk, kendaraan-kendaraan yang tidak diizinkan untuk mereka kendarai.

Anda juga dapat menggunakan gabungan dalam untuk menggabungkan data dari tiga atau lebih tabel .