MySQL kairysis sujungimas naudojamas įrašams iš kelių lentelių pateikti užklausas. Ši sąlyga yra panaši į Inner Join sąlygą, kurią galima naudoti su SELECT teiginiu iškart po raktinio žodžio FROM. Kai mes naudojame sąlygą „Left Join“, ji grąžins visus įrašus iš pirmosios (kairiosios pusės) lentelės, net nerasta jokių atitinkančių įrašų iš antrosios (dešinės pusės) lentelės. Jei dešinėje šoninėje lentelėje neras jokių atitikmenų įrašo, grąžina nulį.
Kitaip tariant, „Left Join“ sąlyga grąžina visas kairiosios lentelės eilutes ir suderintus įrašus iš dešiniosios lentelės arba grąžina Null, jei nerastas atitinkantis įrašas. Šis prisijungimas taip pat gali būti vadinamas a Kairė išorinė jungtis sąlyga. Taigi, išorinis yra pasirenkamas raktinis žodis, naudojamas su kairiuoju prisijungimu.
Mes galime tai suprasti tokiu vaizdiniu vaizdu, kai kairiosios sujungimo funkcija grąžina visus įrašus iš kairės lentelės ir tik atitinkančius įrašus iš dešinės šoninės lentelės:
„MySQL LEFT JOIN“ sintaksė
Ši sintaksė paaiškina kairiojo sujungimo sąlygą, skirtą sujungti dvi ar daugiau lentelių:
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON Join_Condition;
Aukščiau pateiktoje sintaksėje lentelė1 yra kairysis stalas ir lentelė2 yra dešinysis stalas. Ši sąlyga grąžina visus įrašus iš lentelės1 ir suderintus įrašus iš lentelės2 pagal nurodytą prisijungimo sąlyga .
MySQL LEFT JOIN pavyzdys
Paimkime keletą pavyzdžių, kad suprastume, kaip veikia kairiojo sujungimo arba kairiojo išorinio sujungimo sąlygos:
LEFT JOIN sąlyga, skirta dviejų lentelių sujungimui
Čia mes sukursime dvi lenteles klientų ir ' įsakymai' kuriame yra šie duomenys:
vandens ženklas žodyje
Lentelė: klientai
Stalas: užsakymai
Norėdami pasirinkti įrašus iš abiejų lentelių, vykdykite šią užklausą:
SELECT customers.customer_id, cust_name, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Sėkmingai įvykdžius užklausą, ji duos tokią išvestį:
MySQL LEFT JOIN su USING sąlyga
Lentelės klientai ir užsakymai turi tą patį stulpelio pavadinimą, kuris yra kliento_id. Tokiu atveju MySQL Left Join taip pat gali būti naudojamas su USING sąlyga norint pasiekti įrašus. Šis teiginys pateikia kliento ID, kliento vardą, profesiją, kainą ir datą naudojant kairiojo prisijungimo sąlygą su raktiniu žodžiu USING.
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id);
Aukščiau pateiktas teiginys duos tokią išvestį:
MySQL paliko prisijungimą prie grupės pagal sąlygą
Kairysis prisijungimas taip pat gali būti naudojamas su sąlyga GROUP BY. Šiame pareiškime pateikiamas kliento ID, kliento vardas, kvalifikacija, kaina ir data, naudojant kairiojo prisijungimo sąlygą su sąlyga GROUP BY.
Įrašykite json į failą python
SELECT customers.customer_id, cust_name, qualification, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY price;
Aukščiau pateiktas teiginys duos tokią išvestį:
greitas rūšiavimas java
LEFT JOIN su WHERE sąlyga
WHERE sąlyga naudojama norint grąžinti filtras rezultatas iš lentelės. Šis pavyzdys iliustruoja tai su kairiojo prisijungimo sąlyga:
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price>2500;
Šis teiginys pateikia tokį rezultatą:
MySQL LEFT JOIN prie kelių lentelių
Mes jau sukūrėme dvi lenteles pavadinimu ' klientų ir ' įsakymai' . Sukurkime dar vieną lentelę ir pavadinkime ją kaip ' kontaktai“, kuriame yra šie duomenys:
Norėdami prisijungti prie trijų lentelių klientų, užsakymų ir kontaktų, atlikite šį pareiškimą:
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;
Sėkmingai įvykdžius aukščiau pateiktą užklausą, ji duos tokią išvestį:
Jei norite gauti nesuderintų įrašų, naudokite sąlygą LEFT JOIN
LEFT JOIN sąlyga taip pat naudinga tokiu atveju, kai norime gauti lentelės įrašus, kuriuose nėra jokių atitinkančių duomenų eilučių iš kitos lentelės.
Tai galime suprasti naudodami šį pavyzdį, kuriame naudojama LEFT JOIN sąlyga, norint rasti klientą, kuris neturi mobiliojo telefono numerio:
SELECT customer_id, cust_name, cellphone, homephone FROM customers LEFT JOIN contacts ON customer_id = contact_id WHERE cellphone IS NULL ;
Aukščiau pateiktas teiginys grąžina šią išvestį:
Skirtumas tarp WHERE ir ON sąlygų MySQL LEFT JOIN
Kairiajame prisijungime sąlygos WHERE ir ON pateikia skirtingą rezultatą. Kad suprastume jų skirtumus, matome šias užklausas:
KUR išlyga
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price=2500;
Tai pateiks tokią išvestį, kuri grąžins:
ON sąlyga
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500;
Tai duos tokią išvestį:
skirtumas tarp meilės ir patinka