Millal kasutada MySQL -i iseliitumist ja näiteid

When Use Mysql Self Join



MySQL-iseliitumine on SQL-i liitumise tüüp, mis võimaldab teil tabeli endaga liita. See töötab, kasutades muid liitumistüüpe, nagu sisemine või vasakpoolne liitmisklausel, et kombineerida ridu vastavalt määratud tingimustele.

See õpetus näitab teile, kuidas kasutada MySQL-i iseliitumist tabeli ühendamiseks iseendaga ja kohandatud andmete loomiseks.





Põhikasutus

MySQL-i iseliitumine kasutab tabeli varjunimesid, et te ei kordaks sama tabelit ühes lauses rohkem kui üks kord.



MÄRGE: Kui te pole laua varjunimedega tuttav, kaaluge meie teist õpetust, mis selgitab kontseptsiooni täielikult.



Iseliitmise kasutamise üldine süntaks sarnaneb kahe tabeli kombineerimisel kasutatava süntaksiga. Siiski kasutame tabeli varjunimesid. Mõelge allpool näidatud päringule:





VALI alias1.cols,alias2.cols Alates tbl1 varjunimi1,tbl2 varjunimi2 KUS [seisukorras]

Kasutusjuhtumite näited

Kasutame näiteid, et mõista, kuidas MySQL -i iseühendusi teha. Oletame, et teil on andmebaas järgmise teabega (vt täielikku päringut allpool)

DROP Skeem KUI OLEMAS mina;
LOO Skeem mina;
KASUTA mina;
LOO TABEL kasutajatele(
id INT ESIMENE VÕTTE AUTO_INCREMENT ,
eesnimi VARCHAR (255),
meilile VARCHAR (255),
payment_id INT ,
tellimus INT
);
SISESTA SISSE kasutajatele(eesnimi,meilile,payment_id,tellimus) VÄÄRTUSED ('Valerie G. Phillip', '[email protected]', 10001, 1), ('Sean R. lood', '[email protected]', 10005, 2), ('Bobby S. Newsome', '[email protected]', 100010, 5);

Alustame SISEMISE liitumisega ja lõpuks vasakpoolse liitumisega.



Ise liitumine, kasutades sisemist liitumist

Allolev päring sooritab ülaltoodud tabelis SISEMISE liitumise.

VALI al1.* Alates kasutajad al1 SISEMINE LIITU kasutajad al2 PEAL al1.tellimus=al2.tellimine TELLI id DESC ;

Väljund on näidatud allpool:

Ise liitumine, kasutades vasakpoolset liitumist

Allpool toodud näitepäring selgitab, kuidas saame kasutada iseliitumist vasakpoolse liitumisega.

VALI ( CONCAT (al1.esinimi, '->',al2.meil)) AS üksikasjad,al1.payment_id Alates kasutajad al1 VASAK LIITU kasutajad al2 PEAL al1.id=al2.id;

Väljundi tulemus on järgmine:

Järeldus

See juhend juhendas teid, kuidas saate MySQL -i iseühendusega lauaga liitumiseks iseendaga kasutada.

Tänan teid lugemise eest.