MySQL:n vasenta liitosta käytetään tietueiden kyselyyn useista taulukoista. Tämä lauseke on samanlainen kuin Inner Join -lause, jota voidaan käyttää SELECT-lauseen kanssa heti avainsanan FROM jälkeen. Kun käytämme Left Join -lausetta, se palauttaa kaikki tietueet ensimmäisestä (vasemman puolen) taulukosta, vaikka toisesta (oikea puoli) taulukosta ei löytyisikään vastaavia tietueita. Jos se ei löydä yhtään osumaa oikeasta sivutaulukosta, palauttaa null.
Toisin sanoen Left Join -lause palauttaa kaikki rivit vasemmasta taulukosta ja vastaavat tietueet oikeasta taulukosta tai palauttaa Null-arvon, jos vastaavaa tietuetta ei löydy. Tätä liittymistä voidaan kutsua myös a Vasen ulkoliitos lauseke. Outer on siis valinnainen avainsana, jota käytetään vasemman liitoksen kanssa.
Voimme ymmärtää sen seuraavalla visuaalisella esityksellä, jossa Left Joins palauttaa kaikki tietueet vasemmasta taulukosta ja vain vastaavat tietueet oikeasta sivutaulukosta:
MySQL LEFT JOIN Syntaksi
Seuraava syntaksi selittää Left Join -lauseen kahden tai useamman taulukon yhdistämiseksi:
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON Join_Condition;
Yllä olevassa syntaksissa pöytä 1 on vasen pöytä ja taulukko 2 on oikeanpuoleinen pöytä. Tämä lauseke palauttaa kaikki tietueet taulukosta 1 ja vastaavat tietueet taulukosta 2 määritetyn perusteella liitosehto .
javascript latausskripti
MySQL LEFT JOIN Esimerkki
Otetaan joitain esimerkkejä, jotta ymmärrämme vasemman liitoksen tai vasemman ulkoliitoksen toiminnan:
boolen merkkijonoksi
LEFT JOIN -lause kahden taulukon yhdistämiseen
Täällä aiomme luoda kaksi taulukkoa Asiakkaat' ja ' käskyt' joka sisältää seuraavat tiedot:
Taulukko: asiakkaat
Taulukko: tilaukset
Voit valita tietueita molemmista taulukoista suorittamalla seuraavan kyselyn:
SELECT customers.customer_id, cust_name, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Kun kysely on suoritettu, se antaa seuraavan tuloksen:
java-alimerkkijono esimerkki
MySQL LEFT JOIN with USING Clause
Taulukon asiakkailla ja tilauksilla on sama sarakkeen nimi, joka on asiakastunnus. Siinä tapauksessa MySQL Left Join -toimintoa voidaan käyttää myös USING-lauseen kanssa tietueiden käyttämiseen. Seuraava lauseke palauttaa asiakastunnuksen, asiakkaan nimen, ammatin, hinnan ja päivämäärän käyttäen Left Join -lausetta ja USING-avainsanaa.
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id);
Yllä oleva lausunto antaa seuraavan tuloksen:
MySQL LEFT JOIN kanssa Group By Clause
Vasenta liittymistä voidaan käyttää myös GROUP BY -lauseen kanssa. Seuraava lauseke palauttaa asiakastunnuksen, asiakkaan nimen, pätevyyden, hinnan ja päivämäärän käyttäen Left Join -lausetta ja GROUP BY -lausetta.
SELECT customers.customer_id, cust_name, qualification, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY price;
Yllä oleva lausunto antaa seuraavan tuloksen:
LEFT JOIN WHERE-lauseen kanssa
WHERE-lausetta käytetään palauttamaan suodattaa tulos taulukosta. Seuraava esimerkki havainnollistaa tätä Left Join -lausekkeen kanssa:
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price>2500;
Tämä lausunto antaa seuraavan tuloksen:
MySQL LEFT JOIN Useita taulukoita
Olemme jo luoneet kaksi taulukkoa nimeltä Asiakkaat' ja ' käskyt' . Luodaan vielä yksi taulukko ja nimetään se nimellä ' yhteystiedot', joka sisältää seuraavat tiedot:
Suorita seuraava lausunto liittääksesi kolme pöytäasiakasta, tilausta ja yhteyshenkilöä:
10 / 50,00
SELECT customers.customer_id, cust_name, order_id, price, cellphone FROM customers LEFT JOIN contacts ON customer_id = contact_id LEFT JOIN orders ON customers.customer_id = orders.customer_id ORDER BY income;
Kun yllä oleva kysely on suoritettu onnistuneesti, se antaa seuraavan tuloksen:
LEFT JOIN -lausekkeen käyttö vertaamattomien tietueiden saamiseksi
LEFT JOIN -lause on hyödyllinen myös silloin, kun haluamme saada taulukkoon tietueita, jotka eivät sisällä vastaavia tietorivejä toisesta taulukosta.
Voimme ymmärtää sen seuraavalla esimerkillä, joka käyttää LEFT JOIN -lausetta löytääkseen asiakkaan, jolla ei ole matkapuhelinnumeroa:
kokeile catch block javassa
SELECT customer_id, cust_name, cellphone, homephone FROM customers LEFT JOIN contacts ON customer_id = contact_id WHERE cellphone IS NULL ;
Yllä oleva lauseke palauttaa seuraavan tulosteen:
Ero WHERE- ja ON-lauseen välillä MySQL:ssä LEFT JOIN
LEFT Joinissa ehto WHERE ja ON antavat erilaisen tuloksen. Näemme seuraavat kyselyt ymmärtääksemme niiden erot:
WHERE-lauseke
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price=2500;
Se antaa seuraavan tulosteen, joka palauttaa:
ON-lauseke
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500;
Se antaa seuraavan tulosteen: