Vasakpoolsete ja parempoolsete erinevused

Vasak vs parem Liitu

SQL-iga suheldes on liitumine tavaline nimi, mis hüppab aeg-ajalt üles. Liitumisklausel aitab erinevate andmekogumite tabelite kirjeid kombineerida. Tegelik liitumine loob tabeli, mida saab kasutada sellisena, nagu see on, või siis koos teistega veeretada. Seetõttu on soovitatav mõista neid liitumisi ja nendevahelisi erinevusi, et teada konkreetset liitumist ja seda, kas erijuhtudel tuleks võtta parem- või vasakpoolsus..

Liitumiste ja nende erinevuste paremaks mõistmiseks on oluline mõista saadaolevate liitumiste liike. Üldiselt on kolme tüüpi liitumisi. Need ühendused hõlmavad sisemist liitumist, ristühendust ja välimist liitmist. Sisemine liitmine üldiselt võrdleb tabeleid ja annab tulemuse või annab selle tulemuse ainult juhul, kui leitakse sobivus. Siseühenduse põhiülesanne on tulemikomplektide suuruse vähendamine.

Ristliitmikud seevastu võrdlevad kahte tabelit ja annavad tulu igast võimalikust kombinatsioonist, mis pärineb mõlema tabeli ridadest. Selle liitumisega loodetakse arvukalt tulemusi ja enamikul neist ei pruugi olla isegi tähendust. Selle liitumise kasutamist tuleks seetõttu kasutada ettevaatlikult.

Väline liitmine võtab tabelite võrdluse ja tagastab andmed, kui vaste on saadaval. Nii nagu sisemise liitmise korral näha, dubleerib välimine liitmine antud tabelis ridu juhul, kui nähakse vastavaid kirjeid. Väliste liitmiste tulemused on tavaliselt suuremad ja seega on andmekogumid suured, kuna komplekti iseenesest ei eemaldata komplektist.

Vasakpoolne liitmine tähendab kõigi 1. tabeli kirjete hoidmist sõltumata tulemusest ja NULL-i väärtuste sisestamist, kui teise tabeli väärtused ei kattu. Parempoolne liitumine tähendab teiselt poolt kõigi 2. tabelist pärinevate kirjete pidamist sõltumata sellest, milline on tulemus, ja NULL-i väärtuste kasutamist juhul, kui tulemused ei kattu 1. tabeli tulemustega..

Vasakpoolne välimine liitmik säilitab seega kõik read, mis asuvad vasakpoolses tabelis, sõltumata sellest, kas parempoolsel laual on sellele vastav rida. Vasakpoolne tabel viitab seega tabelile, mis tuleb ühisavalduses esimeseks. See peaks ilmuma tabelis esinevast märksõnast "liitu" vasakul. Kui vasakpoolne välimine ühendamine on tehtud, tuleks kõik vasakpoolsed read tagasi saata. Tabelis olevad mittevastavad veerud täidetakse NULLiga, kui vasteid pole.

Oluline on märkida, et nende kahe liitumisega tegelemisel on tabeli vasakpoolses välimises reas esitatud kõik read vasakult vasakult. Tulemused kuvatakse sõltumata sellest, kas paremas tabelis on vastavaid veerge. Parempoolses välimises liitmikus kuvatakse kõik parempoolsed read ja seda sõltumata sellest, kas tabeli vasakus servas on vastavaid veerge.

Valik, kas minna vasakule välimisele või paremale välimisele liitumisele, ei oma tähtsust, kuna näidatakse samu tulemusi. Funktsionaalsus, mida parempoolne välimine liigend esitleb, on sama funktsionaalsus, mida vasakpoolne välimine liitmik. Lihtsalt tabelite SQL-avalduses järjestuse muutmisega võite oodata sarnaseid tulemusi, sõltumata kasutatavast liitumisest.

Kokkuvõte

Liitumised jagunevad kolme põhirühma - sisemine liitumine, ristühendus ja välimine liitumine

Vasakpoolne välimine liitumine kuvab kõik read vasakult tabelist

Parempoolne liitumine kuvab kõik read tabeli paremalt

SQL-järjestuse vaheldumine võib välistada nii parema kui ka vasaku välimise liitumise kasutamise ja selle asemel kasutada ainult ühte.