Retrieving Data Saka Tabel Multiple Kanthi SQL Inner Joins

Inner nggabungake informasi bali sing katon ing loro utawa luwih basis data

Gabungan batin sing paling sering digunakake gabung ing SQL. Padha mung ngowahi informasi sing ana ing loro utawa luwih tabel database. Kondhisi gabungan kasebut nemtokake manawa rekaman wis dipasangake lan kasebut ing klausa WHERE. Contone, yen sampeyan butuh dhaptar driver / matchups kendaraan ing ngendi kendaraan lan sopir dumunung ing kutha sing padha, pratelan SQL ing ngisor iki ngatasi tugas iki:

Pilih jeneng pungkasan, firstname, tag MRO Driver, kendaraan WHERE drivers.location = vehicles.location

Punika asil:

tag jeneng pungkasan
----------- ------------ ----
Baker Roland H122JM
Dene Michael D824HA
Dene Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Elinga yen asil persis apa sing ditemokake. Sampeyan bisa nambah katrangan maneh kanthi nemtokake kritéria tambahan ing klausa WHERE. Ngira query asli cocog karo pembalap menyang kendaraan sing ora sah kanggo drive (truk pembalap kanggo mobil lan kosok balene). Sampeyan bisa nggunakake pitakonan ing ngisor iki kanggo mutusake masalah iki:

SELECT lastname, firstname, tag, vehicles.class DROM drivers, vehicles WHERE drivers.location = vehicles.location AND drivers.class = vehicles.class

Conto iki nemtokake tabel sumber kanggo atribut kelas ing klausa PILIH amarga kelas iku ambigu - katon ing loro tabel kasebut. Kode kasebut biasane nemtokake kolom tabel sing kudu kalebu ing asil panaliti. Ing kasus iki, ora ana bedane, amarga kolom-kolom kasebut identik lan digabung nganggo equijoin. Nanging, manawa kolom sing ana data beda, prabédan iki bakal kritis. Ing ngisor iki kapacak ing pitakonan iki:

classname lastname tag kelas
---------------------- ---- ------
Baker Roland H122JM Car
Mati Michael D824HA Truk
Jacobs Abraham J291QR Car

Baris-barisan sing ilang dipasrahake Michael Smythe menyang mobil lan Abraham Jacobs menyang truk, kendaraan sing ora diidini kanggo mimpin.

Sampeyan uga bisa nggunakake joining utama kanggo gabungke data saka telu utawa luwih tabel .