Bruke mysql venstre bli med

Bruke mysql venstre bli med
En av de nyttige klausulene til MySQL er å bli med. Den brukes til å hente data fra to eller flere relaterte tabeller. MySQL inneholder hovedsakelig to typer sammenføyning. Den ene er indre sammenføyning og en annen er ytre sammenføyning. Den ytre sammenføyningen er igjen delt inn i venstre sammenføyning og høyre bli med. Denne opplæringen er hovedsakelig fokusert på bruken av venstre sammen. Den venstre sammenføyningen brukes til å hente alle poster over tabellen til venstre basert på de spesifikke forholdene og disse postene fra høyre side av høyre side der sammenføyningsfeltene i begge tabellene samsvarer med. Denne opplæringen viser bruken av venstre sammen med MySQL ved å bruke forskjellige eksempler.

Syntaks:

Velg felt1, felt2, felt3, ... feltn
Fra tabell1
Venstre [ytre] bli med tabell2
På tabell1.Felt = tabell2.felt;

Her er det valgfritt å bruke det ytre nøkkelordet. Ethvert felt av Tabell1 og de vanlige feltene til begge Tabell1 og Tabell2 kan defineres i SELECT -spørringen. Registreringene vil bli returnert basert på betingelsene som er definert etter ON -leddet.

Forutsetning:

Før du starter denne opplæringen, må du opprette den nødvendige databasen og tabellene med data, for å sjekke bruken av venstre sammen. Her en database som heter selskap er opprettet og to relaterte tabeller som heter Kunder og bestillinger er opprettet. Venstre Join blir brukt i disse tabellene.

Hvis du ikke opprettet selskap database før deretter kjører følgende uttalelse for å opprette databasen.

Opprette databaseselskap;

Kjør følgende uttalelse for å opprette Kunder Tabell med fire felt (id, navn, mobil_no og e -post. Her, id er en primærnøkkel.

Lag bordkunder (
id int (5) Auto_increment primærnøkkel,
Navn varchar (50) ikke null,
mobil_no varchar (50) ikke null,
E -post varchar (50) ikke null) motor = innodb;

Kjør følgende uttalelse for å opprette bestillinger Tabell som er relatert til kundens tabell med fem felt (id, order_date, customer_id, levering_adresse og beløp). Her id er en primær nøkkel og Kunde ID er en fremmed nøkkel.

Lag bordbestillinger (
ID VARCHAR (20) Primærnøkkel,
ordre_dato dato,
customer_id int (5) ikke null,
levering_adress varchar (50) ikke null,
Beløp int (11),
Utenlandsk nøkkel (Customer_id) Referanser kunder (ID))
Motor = innodb;

Kjør følgende uttalelse for å sette inn noen data i Kunder bord.

Sett inn kunders verdier

(Null, 'Johnathan', '18477366643', '[email protected] '),
(Null, 'Musfiqur Rahman', '17839394985', '[email protected] '),
(Null, 'Jimmy', '14993774655', '[email protected] ');

Kjør følgende uttalelse for å sette inn noen data i bestillinger bord.

Sett inn ordrerverdier
('1937747', '2020-01-02', 1, 'New Work', 1000),
('8633664', '2020-02-12', 3, 'Texas', 1500),
('4562777', '2020-02-05', 1, 'California', 800),
('3434959', '2020-03-01', 2, 'New Work', 900),
('7887775', '2020-03-17', 3, 'Texas', 400);

Følgende uttalelse vil vise postene til Kunder bord.

Velg * fra kunder;

Følgende uttalelse vil vise postene til bestillinger bord.

Velg * fra bestillinger;

Nå er tabellene med data klare, og du kan bruke venstre sammen med disse tabellene for å vite hvordan det fungerer.

Bruk av enkel venstre bli med

Følgende eksempel viser den veldig enkle bruken av venstre sammen. Den vil hente tre felt fra Kunder bord og to felt fra bestillinger bord hvor id av Kunder bord og Kunde ID av bestillinger Tabellen er lik.

Velg kunder.ID, kunder.Navn, kunder.mobil_no, bestillinger.bestillingsdato,
bestillinger.beløp
Fra kunder
Venstre bli med bestillinger
På kunder.ID = bestillinger.Kunde ID;

Følgende utgang vises etter å ha kjørt ovennevnte SQL -setning. 3 id verdier av Kunder Tabellen har dukket opp 5 ganger som Kunde ID verdier i bestillinger bord. Så fem rader returneres som produksjon.

Bruk av venstre sammenføyning med hvor leddet i venstre tabell

Følgende uttalelse viser hvordan hvor leddet kan brukes med sammenføyning mellom to tabeller. Her vil 1 felt fra kundetabellen og 3 felt med bestillinger bli hentet der id av Kunder bord og Kunde ID av bestillinger Tabellen er like og id av Kunder Tabellen er mindre enn 3.

Velg kunder.Navn, bestillinger.ordre_date, bestillinger.levering_adresse, bestillinger.beløp
Fra kunder
Venstre bli med bestillinger
På kunder.ID = bestillinger.customer_id hvor kunder.id < 3;

2 poster eksisterer i Kunder bord hvor id er mindre enn tre og 3 poster av bestillinger Bordkamp med disse 2 postene (1 og 2). Så tre matchende rader vil bli returnert. Følgende utgang vises etter å ha kjørt skriptet.

Bruk av venstre sammenføyning med hvor leddet i høyre tabell

I den følgende SQL -setningen, bestillinger Tabell brukes som et venstre bord og Kunder Tabell brukes som en høyre side av venstre sammenføyningsoperatør. Den vil hente tre felt fra bestillinger bord og ett felt fra Kunder bord hvor Kunde ID av bestillinger bord og id av Kunder Tabellen er det samme og bestilt beløp er større enn 900.

Velg bestillinger.id, bestillinger.ordre_date, bestillinger.beløp, kunder.Navn
Fra bestillinger
Venstre bli med kunder
På bestillinger.customer_id = kunder.id der bestillinger.beløp> 900;

Hvis du sjekker bestillinger Tabell så vil du se at det bare er to beløp mer enn 900. Disse er 1000 og 1500 og de bestilte kunde -IDene er 1 og 3 som er ID -verdiene til Johnathan og Jimmy. Følgende utgang vises etter å ha kjørt uttalelsen.

Enhver aggregatfunksjon kan brukes med sammenføyningsklausulen i SQL -setningen. I den følgende SQL -setningen brukes venstre sammenføyning i to tabeller, og den samlede funksjonssummen () brukes til å beregne den totale summen av bestilte beløpsgrupper med id av Kunder bord.

Velg kunder.Navn, kunder.mobil_no, sum (bestillinger.beløp)
Fra bestillinger
Venstre bli med kunder
På kunder.ID = bestillinger.Customer_id Group etter bestillinger.Kunde ID;

Det er tre id verdier i Kunder bord og i henhold til bestillinger Tabell, det er to oppføringer for ID -verdien 1 (1000 + 800 = 1800), en oppføringer for ID -verdien 2 (900) og to oppføringer for ID -verdien 3 (400 + 1500 = 1900). Følgende utgang vises etter å ha kjørt uttalelsen.


Konklusjon:

I henhold til søkekravene kan du bruke forskjellige typer klausuler i SQL -setningen din for å finne ut det nøyaktige resultatet fra databasetabellene. SQL -uttalelsene som ble brukt i denne artikkelen, forklarer de forskjellige bruksområdene til venstre sammenføyning for å hente det forskjellige resultatet som er satt fra to tabeller. Du kan bruke mer enn to tabeller til å bli med for å skrive en mer sammensatt spørsmål. Jeg håper, denne opplæringen vil hjelpe nybegynnere til å vite bruken av venstre sammen med MySQL.