logo

MySQL LEFT LIITY

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 LIITY

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

MySQL LEFT LIITY

Taulukko: tilaukset

MySQL LEFT LIITY

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 LIITY

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 LIITY

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:

MySQL LEFT LIITY

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 LIITY

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:

MySQL LEFT LIITY

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:

MySQL LEFT LIITY

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:

MySQL LEFT LIITY

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:

MySQL LEFT LIITY

ON-lauseke

 SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500; 

Se antaa seuraavan tulosteen:

MySQL LEFT LIITY

HUOMAUTUS: WHERE- ja ON-ehto Inner Join -lauseessa palauttaa aina vastaavat tulokset.