Praegu on meil olemas kaks eraldi tabelit. Laste loetelu ning lemmikloomade loetelu, iga lemmiklooma juures on kirjas lapse id, kelle ülesandeks on vastava looma eest hoolt kanda. Soovides teada, kelle oma on Miisu, tuleb “käsitsi” uurides minna kõigepealt lemmikloomade tabelisse, otsida sealt üles Miisu peremehe_id ning siis minna selle arvu järgi laste tabelist peremehe nime ja muid andmeid otsima. Et selline tabelite ühendamine aga on andmebaaside juures sage ja hädavajalik, siis on ühendamise jaoks loodud omad käsklused.
Järgnevalt ühendatakse laste andmetabeli külge lemmikloomade andmetabel, kusjuures ridade kõrvutamise tingimuseks on, et lapse id-number ning lemmiklooma peremehe_id-number oleksid võrdsed. Tärn SELECT´i järel teatab, et näidataks kõiki võimalikke veerge. Ridadest on praeguse päringu puhul nähtavad ainult need lapsed, kel lemmikloom olemas. Ja kui mõnel lapsel oleks mitu lemmiklooma, siis näidataks ka selle lapse andmed mitmekordselt. Mitmekordsest näitamisest hoolimata talletatakse aga selle lapse andmeid baasis ikkagi ühekordselt. Nii et kui kellegi pikkus peaks muutuma, siis piisab selle märkimisest ühes kohas.
[crayon-68106f07609a6735116038/]
INNER JOINi nimeline süntaks on levinud SQL Serveris. Sama toimingu kirjapanekuks aga on ka teine viis, mis töötab nii siin kui teiste SQL standardit arvestavate andmebaaside peal. FROM-sõna järgi kirjutatakse kõikide osalevate tabelite loetelu ning WHERE-tingimusega seatakse, millised read peavad omavahel võrdsed olema. Nagu näha, on tulemus eelmise päringuga võrreldes samasugune.
[crayon-68106f07609ac863696515/]
Tabeleid ühendades saab lihtsalt mitmest tabelist kokku ühe. Muud tingimused ja järjestamised käivad ikka samamoodi. Ehk siis, kui tahta panna andmed peremeeste nimede järgi tähestikulisse järjekorda, siis aitab endiselt ORDER BY eesnimi.
[crayon-68106f07609ae575858139/]
Tabelite järjekord päringus määrab ka nende järjekorra trükitavas vastuses. Kui andmete poole pöördutakse tulba nime järgi, pole sel erilist vahet. Kui aga kasutatakse tulba järjekorraumbrit, siis peab teadma, mitmendana milline tulp kus asetseb. Siin siis lemmikloomad ees ja lapsed järgi.
[crayon-68106f07609af597254236/]
Tahtes näha vaid osa tulpasid kõigi asemel, tuleb nende tulpade nimed ette lugeda. Ikka sarnaselt nagu ühestki tabelist tehtavate päringute korral.
[crayon-68106f07609b1731011112/]
Et INNER JOIN on SQL Serveri jaoks vaikimisi ühendusviis, võib sõna INNER ära jätta – päring töötab ikka samamoodi.
[crayon-68106f07609b3858825051/]