Data herwin van verskeie tafels Met SQL Inner Joins

Binne-inskrywings gee terug inligting wat in twee of meer databasisse verskyn

Binnekoppe is die mees gebruikte verbindings in SQL. Hulle gee slegs inligting wat in twee of meer databasis tabelle bestaan, terug. Die toetredingsvoorwaarde bepaal watter rekords saam gepaar word en word in die WHERE-klousule gespesifiseer. Byvoorbeeld, as u 'n lys van bestuurder- en voertuigvergelykings benodig waarin beide die voertuig en bestuurder in dieselfde stad geleë is, behaal die volgende SQL- navraag hierdie taak:

SELECT achternaam, voornaam, tag FROM bestuurders, voertuie WAAR drivers.location = vehicles.location

Hier is die resultate:

achternaam voornaam tag
----------- ------------ ----
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Let daarop dat die resultate presies is wat gesoek is. Dit is moontlik om die navraag verder te verfyn deur bykomende kriteria in die WHERE-klousule in te vul. Veronderstel die oorspronklike soektogbestuurders vir navrae aan voertuie wat hulle nie gemagtig is om te bestuur nie (vragmotorbestuurders na motors en andersom). U kan die volgende navraag gebruik om hierdie probleem op te los:

SELECT naam, voornaam, merker, voertuie.klas VAN bestuurders, voertuie WAAR drivers.location = vehicles.location EN drivers.class = vehicles.class

Hierdie voorbeeld spesifiseer die brontabel vir die klasattribuut in die SELECT-klousule omdat die klas dubbelsinnig is - dit verskyn in albei tabelle. Die kode sal gewoonlik spesifiseer watter tabel se kolom in die navraagresultate ingesluit moet word. In hierdie geval maak dit nie 'n verskil nie, aangesien die kolomme identies is en hulle verbind word met 'n equijoin. As die kolomme egter verskillende data bevat, sal hierdie onderskeid krities wees. Hier is die resultate van hierdie navraag:

achternaam voornaam tag klas
---------------------- ---- ------
Baker Roland H122JM Car
Smythe Michael D824HA Vragmotor
Jacobs Abraham J291QR Motor

Die vermiste rye het Michael Smythe aan 'n motor en Abraham Jacobs gekoppel aan 'n vragmotor, voertuie wat hulle nie gemagtig het om te bestuur nie.

U kan ook binne verbindings gebruik om data van drie of meer tabelle te kombineer .