Levi spoj v MySQL se uporablja za poizvedovanje po zapisih iz več tabel. Ta člen je podoben členu Inner Join, ki ga lahko uporabite s stavkom SELECT takoj za ključno besedo FROM. Ko uporabimo klavzulo Left Join, vrne vse zapise iz prve (leve) tabele, tudi nobenega ujemajočega se zapisa iz druge (desne) tabele. Če ne najde nobenega ujemajočega se zapisa iz tabele na desni strani, vrne nič.
Z drugimi besedami, klavzula Left Join vrne vse vrstice iz leve tabele in ujemajoče se zapise iz desne tabele ali vrne Null, če ni najden ujemajoči se zapis. To pridružitev lahko imenujemo tudi a Levi zunanji spoj klavzula. Outer je torej neobvezna ključna beseda za uporabo z Left Join.
To lahko razumemo z naslednjo vizualno predstavitvijo, kjer Left Joins vrne vse zapise iz leve tabele in samo ujemajoče se zapise iz desne stranske tabele:
Sintaksa MySQL LEFT JOIN
Naslednja sintaksa pojasnjuje klavzulo Left Join za združevanje dveh ali več tabel:
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON Join_Condition;
V zgornji sintaksi je tabela1 je leva miza in tabela2 je tabela na desni strani. Ta člen vrne vse zapise iz tabele1 in ujemajoče se zapise iz tabele2 na podlagi podanega pogoj pridružitve .
Igralka Rakul Preet Singh
Primer MySQL LEFT JOIN
Vzemimo nekaj primerov za razumevanje delovanja klavzule Left Join ali Left Outer Join:
dvojno vezan seznam
Klavzula LEFT JOIN za združevanje dveh tabel
Tukaj bomo ustvarili dve tabeli ' strank in ' naročila' ki vsebuje naslednje podatke:
Tabela: stranke
Tabela: naročila
Če želite izbrati zapise iz obeh tabel, izvedite naslednjo poizvedbo:
SELECT customers.customer_id, cust_name, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Po uspešni izvedbi poizvedbe bo dal naslednje rezultate:
kako dobiti apple emojis na android
MySQL LEFT JOIN s klavzulo USING
Tabela strank in naročil ima isto ime stolpca, ki je customer_id. V tem primeru lahko MySQL Left Join uporabite tudi s klavzulo USING za dostop do zapisov. Naslednji stavek vrne ID stranke, ime stranke, poklic, ceno in datum z uporabo klavzule Left Join s ključno besedo USING.
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id);
Zgornja izjava bo dala naslednje rezultate:
MySQL LEFT JOIN s klavzulo Group By
Levi spoj lahko uporabite tudi s klavzulo GROUP BY. Naslednji stavek vrne ID stranke, ime stranke, kvalifikacijo, ceno in datum z uporabo klavzule Left Join s klavzulo GROUP BY.
SELECT customers.customer_id, cust_name, qualification, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY price;
Zgornja izjava bo dala naslednje rezultate:
LEFT JOIN s klavzulo WHERE
Klavzula WHERE se uporablja za vrnitev filter rezultat iz tabele. Naslednji primer to ponazarja s klavzulo Left Join:
SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price>2500;
Ta izjava daje spodnji rezultat:
MySQL LEFT JOIN Več tabel
Ustvarili smo že dve tabeli z imenom ' strank in ' naročila' . Ustvarimo še eno tabelo in jo poimenujmo kot ' kontakti«, ki vsebuje naslednje podatke:
Izvedite naslednji stavek, da se pridružite trem tabelam stranke, naročila in kontakti:
java je enaka
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;
Po uspešni izvedbi zgornje poizvedbe bo dal naslednje rezultate:
Uporaba klavzule LEFT JOIN za pridobivanje neujemajočih se zapisov
Klavzula LEFT JOIN je uporabna tudi v primeru, ko želimo dobiti zapise v tabeli, ki ne vsebuje nobene ujemajoče se vrstice podatkov iz druge tabele.
To lahko razumemo z naslednjim primerom, ki uporablja klavzulo LEFT JOIN za iskanje stranke, ki nima številke mobilnega telefona:
izberite iz več tabel v sql
SELECT customer_id, cust_name, cellphone, homephone FROM customers LEFT JOIN contacts ON customer_id = contact_id WHERE cellphone IS NULL ;
Zgornji stavek vrne naslednje rezultate:
Razlika med stavkom WHERE in ON v MySQL LEFT JOIN
V LEVEM spoju dajeta pogoja WHERE in ON drugačen rezultat. Ogledamo si lahko naslednje poizvedbe, da razumemo njihove razlike:
Klavzula WHERE
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price=2500;
Podal bo naslednji rezultat, ki se vrne:
ON klavzula
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500;
Dalo bo naslednje rezultate: