Bruker MySQL Union Operator

Bruker MySQL Union Operator
Mange operatører eksisterer i MySQL for å hente data fra flere tabeller basert på kravene. En av de nyttige MySQL -operatørene er Union. Det brukes til å kombinere poster fra to eller flere tabeller ved å skrive en enkelt spørring. Hver valgte setning som brukes med unionsoperatøren må inneholde samme antall felt, og datatypen til hvert felt vil også være den samme. Den henter alle vanlige og uvanlige feltverdier for alle tabeller som er nevnt i spørringen ved å fjerne dupliserte oppføringer.

Syntaks:

Velg felt1, felt2, ... feltn
Fra tabell1
[Hvor leddet]
Union [distinkt]
Velg felt1, felt2, ... feltn
Fra tabell2
[Hvor cluase];

Her er hvor klausul og distinkt modifiserer er valgfri. Hvis du vil kjøre et valgt spørring basert på noen betingelser, kjører du hvor leddet. Det er nevnt før at duplikatposter fjernes automatisk når du kjører spørringen med en unionsoperatør. Så bruk av den distinkte modifisereren er ubrukelig.

Forutsetning:

Du må opprette den nødvendige databasen og tabellene med noen poster for å vite bruken av unionsoperatøren. Først, koble til databaseserveren ved hjelp av mysql klient og kjør følgende SQL -setning for å opprette en database som heter 'selskap'.

Opprette databaseselskap;

Velg gjeldende database ved å utføre følgende uttalelse.

Bruk selskap;

Kjør følgende SQL -setning for å opprette en tabell som heter 'Produkter' av fem felt (id, navn, modell_no, merkevare og pris). Her, 'id'er den primære nøkkelen.

Lag bordprodukter (
id int (5) usignert auto_increment primærnøkkel,
Navn varchar (50) ikke null,
modell_no varchar (50) ikke null,
merkevare varchar (50) ikke null,
Pris int (5)) motor = innodb;

Kjør følgende SQL -setning for å opprette en tabell som heter 'leverandører ' av fire felt (id, navn, adresse, pro_id). Her, 'id ' er en primær nøkkel og pro_id er en fremmed nøkkel.

Lag bordleverandører (
id int (6) usignert auto_increment primærnøkkel,
Navn varchar (50) ikke null,
adresse varchar (50) ikke null,
pro_id int (5) usignert ikke null,
Utenlandsk nøkkel (Pro_id) Referanser Produkter (ID) på Delete Cascade)
Motor = innodb;

Kjør følgende SQL -setning for å sette inn fire poster i produktene bord.

Sett inn produkter verdier
(Null, 'Samsung 42' TV ',' TV-78453 ',' Samsung ', 500),
(Null, 'LG kjøleskap', 'FR-9023', 'LG', 600)
(Null, 'Sony 32' TV ',' TV-4523W ',' Sony ', 300),
(Null, 'Walton Washing Machine', 'WM-78KL', 'Walton', 255);

Kjør følgende SQL -setning for å sette inn seks poster i leverandørene bord.

Sett inn leverandørverdier
(Null, 'Rahman Enterprise', 'Dhanmondi', 1),
(Null, 'ABC Electronics', 'Mirpur', 2),
(Null, 'Nabila Enterprise', 'Mogbazar', 2),
(Null, 'Naher Plaza', 'Eskaton', 3),
(Null, 'Walton Plaza', 'Eskaton', 4)
(Null, 'Walton Plaza', 'Dhanmondi', 4);

*** Merk: Det antas at leseren er kjent med SQL -setningene for å lage en database og tabell eller sette inn data i tabeller. Så skjermbildene av uttalelsene ovenfor er utelatt.

Kjør følgende SQL -setning for å se gjeldende poster over produktene bord.

Velg * fra produkter;

Kjør følgende SQL -setning for å se gjeldende poster over leverandørene bord.

Velg * fra leverandører;

Her, leverandørnavnet 'Walton Plaza'eksisterer i to poster. Når disse to tabellene er kombinert med unionsoperatøren, vil en duplikatverdi bli generert, men den vil bli fjernet automatisk som standard, og du vil ikke bruke en distinkt modifiserer.

Bruk av en enkel unionsoperatør

Følgende spørsmål vil hente dataene til pro_id og Navn felt fra leverandører bord, og id og Navn felt fra Produkter bord.

Velg Pro_id som 'Produkt -ID', navn som 'Produktnavn eller leverandørnavn'
Fra leverandører
Union
Velg ID som 'Produkt -ID', navn som 'Produktnavn eller leverandørnavn'
Fra produkter;

Her, Produkter Tabellen inneholder 4 poster og leverandører Tabellen inneholder 6 poster med en duplikatoppføring ('Walton Plaza'). Ovennevnte spørring returnerer 9 poster etter å ha fjernet duplikatoppføringen. Følgende bilde viser utdataene fra spørringen der 'Walton Plaza' vises i en gang.

Bruk av union med singel der klausul

Følgende eksempel viser bruken av unionsoperatøren mellom to utvalgte spørsmål der den andre spørringen inneholder en der tilstanden for å søke i disse postene fra leverandører tabell som inneholder ordet, 'Walton'In navnet felt.

Velg ID som 'Produkt -ID', navn som 'Produktnavn eller leverandørnavn'
Fra produkter
Union
Velg Pro_id som 'Produkt -ID', navn som 'Produktnavn eller leverandørnavn'
Fra leverandører
Hvor leverandører.Navn som '%Walton%';

Her vil den første utvalgte spørringen returnere 4 poster fra Produkter tabell og den andre valgte setningen vil returnere 2 poster fra leverandører Tabell fordi ordet, 'Walton'vises to ganger i'Navn' felt. De totalt 5 postene vil bli returnert etter å ha fjernet duplikatet fra resultatsettet.

Bruk av forening med flere hvor klausulen

Følgende eksempel viser bruk av en unionsoperatør mellom to utvalgte spørsmål der begge spørsmålene inneholder der tilstanden. Den første utvalgte spørringen inneholder en der tilstand som vil søke i disse postene fra Produkter Hvilke prisverdier er mindre enn 600. Den andre utvalgte spørringen inneholder det samme der tilstanden som forrige eksempel.

Velg ID som 'Produkt -ID', navn som 'Produktnavn eller leverandørnavn'
Fra produkter
Hvor pris < 600
Union
Velg Pro_id som 'Produkt -ID', navn som 'Produktnavn eller leverandørnavn'
Fra leverandører
Hvor leverandører.Navn som '%Walton%';

Her vil 4 poster bli returnert som utdata etter å ha fjernet duplikatene.

Bruk av union alle med flere hvor klausulen

Det vises i de tidligere eksemplene at alle dupliserte poster blir fjernet av unionsoperatører som standard. Men hvis du vil hente alle poster uten å fjerne duplikater, må du bruke Union All Operator. Bruken av Union All Operator vises i følgende SQL -setning.

Velg ID som 'Produkt -ID', navn som 'Produktnavn eller leverandørnavn'
Fra produkter
Hvor pris < 600
Union alle
Velg Pro_id som 'Produkt -ID', navn som 'Produktnavn eller leverandørnavn'
Fra leverandører
Hvor leverandører.Navn som '%Walton%';

Følgende bilde viser at det returnerte resultatsettet inneholder duplikatpostene etter å ha kjørt uttalelsen ovenfor. Her, 'Walton Plaza ' vises to ganger.

Konklusjon:

Bruken av unionsoperatører i SQL -setningen blir forklart i denne opplæringen ved å bruke enkle eksempler. Jeg håper, leserne vil kunne bruke denne operatøren riktig etter å ha lest denne artikkelen.