Liitu vs sisemine liitumine
Selles suhtluskeskkonnas juhitavas maailmas peame ilmselgelt andmeid tõhusalt käsitsema, kuna suhtlemine on seotud andmete edastamisega. Selleks on meil andmebaasid nagu MS Access, SQL Server, Oracle jne, et oma andmeid igapäevaseks otstarbeks säilitada ja hankida. Kas olete kunagi andmebaasi proovinud? Andmebaasi käsitlemine pole nii keeruline - isegi võite seda proovida! Andmebaaside sisu manipuleerimiseks või hankimiseks on vaja ainult süntaksit. Selgitame süntaksit 'Liitu' ja 'Sisemine liitumine' ning selgitame välja, kas need erinevad funktsionaalsuse või toimivuse poolest.
Mis onLiituandmebaasis?
Süntaks 'Liitu' on võimeline leidma vastavaid veerge kahest või enamast andmebaasist või andmebaasitabelitest. Andmebaasid kuvatakse alati tabelitena ja need on tegelikud üksused, mis hoiavad andmeid veergude ja ridadena. Iga tabeli loomisel kasutatakse identifikaatori võtit, mis jääb iga rea jaoks ainulaadseks. Kõik meie manipulatsioonid põhinevad neil klahvidel - saate neid kasutada lugedes lähemalt. Enne kui asume erinevuste kallale, heidame pilgu 'liitumise' üldisele süntaksile.
VALI Veeru_nimi
FROM Tabel 1
LIITU Tabel2
PEAL Tabel1.veeru_nimi = Tabel2.veeru_nimi.
Ülaltoodud süntaks hangib tabelitest kõik tabelisse toodud veerunimede vastavad read - tabel1 ja tabel2. Võite märkida, et veeru_nimi on mõlemas tabelis identifikaatori võti ja ülaltoodud päring võrdleb neid, et leida sobivad read.
Mis teeb 'Sisemine liitumine ' teeb?
'Sisemine liitumine' on SQL-i süntaks, mis on funktsionaalselt sama kui 'Liitu' süntaks. Kui asendate ülaltoodud SQL päringus sõna "Liitu" sisemise liitumisega, saate sama tulemuse! Šokeeriv, eks? Miks on meil sama funktsiooni täitmiseks kaks erinevat süntaksit? Nüüdseks on enamik teist ilmselt seda mõelnud; saate teada, miks seda lähemalt lugeda.
Paremaks mõistmiseks vaadake järgmist pilti.
Ülaltoodud pildil võite märgata sisemist liitumist ja eraldi pole liitumise süntaksit. See tõestab selgesõnaliselt, et mõlemad süntaksid on samad ja me ei vaja liitumise kuvamiseks täiendavat diagrammi.
Miks sama funktsiooni jaoks kaks erinevat süntaksit
Seal on rohkem 'Liitu' tüüpe, näiteks 'Väline liitumine', 'Vasakpoolne liitumine' ja 'Parempoolne liitumine'. Need liitumissüntaksid erinevad oma funktsioonide osas märkimisväärselt ja õige mainimisel peame olema konkreetsed. Lihtsalt sellepärast, et nii liitumine kui ka sisemine liitumine täidavad sama funktsiooni, võime koodi kodeerimisel unarusse jätta sõna "sisemine". Mõnikord võib kaasautorite seas esineda mitmetimõistetavuse osas, mis tüüpi liitumist arendaja mainis. See on tavaline probleem äsja praktiseerivate arendajate puhul; uustulnukad peavad liitumisavalduste kirjutamisel olema konkreetsed. Ja nii võime öelda, et meil on selge avaldus sisemise liitumise kohta lihtsalt selleks, et vältida segiajamist teiste liituvate tüüpidega. Soovitame oma lugejatel minna edasi ja kasutada selgeid süntakse, selle asemel et minna kahemõttelistele.
SQL päringud ei piirdu väheste andmebaasidega ja me kasutame neid paljudes andmebaasides, näiteks SQL Server, MS Access, Oracle jne. Kui arvestada MS Access DB-ga, ei nõustu see kunagi lihtsa liitumisega! Jah, see aktsepteerib seda ainult siis, kui täpsustate tüübi „liitumine” - näiteks „Sisemine liitumine”, „Väline liitumine”, „Vasakpoolne liitumine” ja „Parempoolne liitumine” -, mida kavatsete oma päringus kasutada. Seetõttu, kui kavatsete kasutada samu või sarnaseid süntakse erinevates andmebaasides, peaksite oma päringus kirjutama "sisemine liitumine", mitte lihtsalt "liituma"! Erinevus on olemas, isegi kui mõlemad teevad sama tööd.
Enamik inimesi arvab, et „liitu” ja „sisemine liitumine” pole samad; nende üllatuseks on nad funktsionaalsuse ja jõudluse osas samad. Võib öelda, et SQL käsitleb „liitumist“ kui „sisemise liitumise“ lühivormi. Ehkki see pole tehniliselt õige väide, saame selle hõlpsamaks mõistmiseks niimoodi öelda. Võtke kindlasti veel mõned klahvivajutused, kirjutades selle sisemiseks liitumiseks - see võib päästa teid muudest probleemidest, millest me eespool rääkisime.
Mis on parim tava, kui kasutadaLiitu'või 'Sisemine liitumine'?
Soovitame kasutada päringutes „Sisemine liitumine”, kus plaanisite kasutada ainult „liitumist”. Endine on mõistlik ja tundub selge! Lisaks ei ole mingit ebaselgust, millist tüüpi liitumist programmeerija kavatseb kasutada. Lisaks ei vaja kaasprogrammeerijad teie abi dokumentide või mõistmise eesmärgil. Vaatame nüüd kõike ja vaatame järgmist tabelit, kuidas kaks süntaksit erinevad.
S.Ei | Liitu | Sisemine liitumine | |
1 | Süntaks | VALI Veeru_nimed FROM Tabel 1 LIITU Tabel2 PEAL Tabel1.veeru_nimi = Tabel2.veeru_nimi. | VALI Veeru_nimed FROM Tabel 1 Siseühendus Tabel2 PEAL Tabel1.veeru_nimi = Tabel2.veeru_nimi. |
2 | Arendajatele | Lihtsalt liitumisavaldus tekitab ebaselgust, millist tüüpi liitumiseks arendaja viitab. | 'Siseühenduse' kasutamine koodis on väga selge ja moodustab kaas arendajatele ise dokumenteeritud koodi. |
3 | MS Access DB | Ta aktsepteerib lihtsat liitumisavaldust. | Ta kiidab heaks sisemise liitumise avalduse. |
4 | Lühivorm | Seda võib pidada lühivormiks ja seda ei saa edasi lühendada. | Sisemist liitumist saab lühendada lihtsalt liitumiseks. |
5 | Mis on parem? | Kuigi liitumine tähendab sama, mis sisemine liitumine, peaks hea arendaja ebaselguste vältimiseks kasutama selgeid süntakse. | 'Sisemine liitumine' on parem, ehkki see on samaväärne nii funktsioneerimise kui funktsioonide liitumisega. |