Kailan gagamitin ang MySQL Self Sumali at Mga Halimbawa

When Use Mysql Self Join



Ang MySQL Self-Join ay isang uri ng SQL Sumali na nagbibigay-daan sa iyo upang sumali sa isang talahanayan sa kanyang sarili. Gumagana ito sa pamamagitan ng paggamit ng iba pang mga uri ng pagsali tulad ng panloob o kaliwang pagsali ng sugnay upang pagsamahin ang mga hilera batay sa mga tinukoy na kundisyon.

Ipapakita sa iyo ng tutorial na ito kung paano gamitin ang MySQL na sumali sa sarili upang pagsamahin ang isang table sa sarili nito at lumikha ng na-customize na data.







Pangunahing Paggamit

Ang MySQL self-join ay gumagamit ng mga alias sa talahanayan upang matiyak na hindi mo ulitin ang parehong talahanayan nang higit sa isang beses sa isang pahayag.



TANDAAN: Kung hindi ka pamilyar sa mga alias sa talahanayan, isaalang-alang ang aming iba pang tutorial na nagpapaliwanag ng buong konsepto.



Ang pangkalahatang syntax para sa paggamit ng isang sumali sa sarili ay katulad ng isa kapag pinagsasama ang dalawang mga talahanayan. Gayunpaman, gumagamit kami ng mga alias sa talahanayan. Isaalang-alang ang query na ipinakita sa ibaba:





PUMILI alias1.cols,alias2.cols MULA SA tbl1 alias1,tbl2 alias2 SAAN [kalagayan]

Mga Halimbawa ng Paggamit ng Mga Kaso

Gumamit tayo ng mga halimbawa upang maunawaan kung paano maisagawa ang pagsali sa MySQL sa sarili. Ipagpalagay na mayroon kang isang database na may sumusunod na impormasyon (Tingnan ang buong query sa ibaba)

PATULOG SKEMA KUNG EXISTS sarili;
LILIKHA SKEMA sarili;
PAGGAMIT sarili;
LILIKHA TABLE mga gumagamit(
id INT PANGUNAHING SUSI AUTO_INCREMENT ,
pangalan VARCHAR (255),
email VARCHAR (255),
bayad_id INT ,
subscription INT
);
INSERT SA mga gumagamit(pangalan,email,bayad_id,subscription) VALUES ('Valerie G. Phillip', '[Protektado ang email]', 10001, 1), ('Sean R. Stories', '[Protektado ang email]', 10005, 2), ('Bobby S. Newsome', '[Protektado ang email]', 100010, 5);

Magsisimula kami sa isang pagsali sa INNER at sa wakas ay isang kaliwang sumali.



Sumali sa Sarili gamit ang Inner Sumali

Ang query sa ibaba ay gumaganap ng isang INNER na sumali sa talahanayan na nilikha sa itaas.

PUMILI al1.* MULA SA mga gumagamit al1 INNER SUMALI mga gumagamit al2 ON na al1.subscription=al2.subscription INIUTOS NI id DESC ;

Ang output ay ipinapakita sa ibaba:

Sumali sa Sarili gamit ang Kaliwa Sumali

Ang halimbawa ng query sa ibaba ay nagpapaliwanag kung paano namin magagamit ang sariling pagsali sa kaliwang pagsali.

PUMILI ( CONCAT (al1.first_name, '->',al2.email)) AS mga detalye,al1.payment_id MULA SA mga gumagamit al1 KALIWAN SUMALI mga gumagamit al2 ON na al1.id=al2.id;

Ang resulta ng output ay nasa ibaba:

Konklusyon

Pinalakad ka ng gabay na ito sa kung paano mo magagamit ang MySQL na sumali mismo upang sumali sa isang talahanayan kasama nito.

Salamat sa pagbabasa.