Når skal jeg bruke mysql selvkobling og eksempler

Når skal jeg bruke mysql selvkobling og eksempler
MySQL Self-Join er en type SQL-sammenføyning som lar deg bli med i et bord for seg selv. Det fungerer ved å bruke andre sammenføyningstyper som Inner eller Left Join -leddet for å kombinere rader basert på de angitte forholdene.

Denne opplæringen vil vise deg hvordan du bruker MySQL selv-join for å slå sammen et bord med seg selv og lage tilpassede data.

Grunnleggende bruk

MySQL Self-Join bruker tabellaliaser for å sikre at du ikke gjentar den samme tabellen mer enn en gang i en uttalelse.

MERK: Hvis du ikke er kjent med tabellaliaser, bør du vurdere vår andre opplæring som forklarer konseptet fullt ut.

Den generelle syntaksen for bruk av en selvforbindelse er lik en når du kombinerer to tabeller. Vi bruker imidlertid tabellaliaser. Tenk på spørringen som er vist nedenfor:

Velg alias1.Cols, alias2.Cols fra TBL1 alias1, TBL2 alias2 hvor [tilstand]

Eksempel Bruk saker

La oss bruke eksempler for å forstå hvordan du kan utføre MySQL Self -sammenføyninger. Anta at du har en database med følgende informasjon (se full spørsmål nedenfor)

Slipp skjema hvis det eksisterer selv;
Skape skjema selv;
Bruk meg selv;
Lag tabellbrukere (
id int primær nøkkel auto_increment,
FIRST_NAME VARCHAR (255),
E -post varchar (255),
betaling_id int,
abonnement int
);
Sett inn brukere (First_name, e -post, betaling_id, abonnement) verdier ("Valerie G. Phillip "," [email protected] ", 10001, 1), (" Sean r. Storie "," [email protected] ", 10005, 2), (" Bobby s. Newsome "," [email protected] ", 100010, 5);

Vi starter med en indre sammenføyning og til slutt en venstre bli med.

Selvbruk ved hjelp av indre sammenføyning

Spørringen nedenfor utfører en indre sammenføyning på bordet som er opprettet ovenfor.

Velg AL1.* Fra brukere AL1 indre bli med brukere AL2 på AL1.Abonnement = AL2.Abonnementsordre av ID Desc;

Utgangen vises nedenfor:

Selvbruk ved hjelp av venstre sammen

Eksemplet nedenfor forklarer hvordan vi kan bruke selvkobling med venstre sammen.

Velg (Concat (AL1.First_name, ' ->', al2.e -post)) som detaljer, al1.betaling_id fra brukere al1 venstre bli med brukere al2 på al1.ID = AL2.id;

Utgangsresultatet er nedenfor:

Konklusjon

Denne guiden vandret deg gjennom hvordan du kan bruke mysql selvtillit til å bli med på et bord med seg selv. Takk for at du leser.