Kaip sujungti dvi lenteles MySQL nenaudojant prisijungimo?

Kaip Sujungti Dvi Lenteles Mysql Nenaudojant Prisijungimo



PRISIJUNK “ sąlyga naudojama lentelėms sujungti MySQL, tačiau lentelę galima sujungti ir jos nenaudojant. Tiksliau, „ SĄJUNGOS “, „ SĄJUNGOS VISI 'ir kablelis' , “ yra trys skirtingi būdai, kurie gali duoti tokį patį rezultatą kaip „JOIN“ sąlyga. Kablelis gali būti naudojamas vietoje „JOIN“ sąlygos, o „UNION“ arba „UNION ALL“ naudojami su „SELECT“ teiginiu, kad būtų galima sujungti dviejų lentelių įrašus.

Šis įrašas paaiškins, kaip sujungti dvi lenteles MySQL:







1 būdas: sujunkite dvi lenteles „MySQL“ naudodami „“,

„MySQL“ lenteles galima sujungti naudojant „ , “ vietoj „ PRISIJUNK “ sąlyga. Jo sintaksė pateikta žemiau:



PASIRINKTI *
NUO [ lentelė1 pavadinimas ] , [ lentelė2 pavadinimas ] ;



Pagrindinis skirtumas yra tik raktinio žodžio ' PRISIJUNK ' su ' , “:





PASIRINKTI *
NUO [ lentelė1 pavadinimas ] PRISIJUNK [ lentelė2 pavadinimas ] ;

Naudokite kablelį ' , ' sintaksė su ' KUR “ sąlygą, kad būtų galima sujungti lenteles pagal tam tikrą sąlygą. Sintaksė pateikta žemiau:



PASIRINKTI *
NUO [ lentelė1 pavadinimas ] , [ lentelė2 pavadinimas ]
KUR [ sąlyga ] ;

1 pavyzdys: ',' be sąlygų naudojimas

Prisijunkime' Produktai “ ir „ vartotojo duomenys “ lenteles nurodydami „ , “ taip:

PASIRINKTI *
IŠ produktų, vartotojo duomenų;

Išvestis

Išvestis rodo, kad lentelės „products“ ir „userdata“ buvo sujungtos nenaudojant „JOIN“ sąlygos.

2 pavyzdys: ',' su sąlyga naudojimas

Pažiūrėkime dviejų lentelių sujungimo pavyzdį, kur „ userdata.id “ yra didesnis nei 2 :

PASIRINKTI *
IŠ produktų, vartotojo duomenų
WHERE userdata.id > 2 ;

Išvestis

Išvestis parodė, kad pasirinktos lentelės buvo sujungtos pagal nurodytą sąlygą.

2 būdas: sujunkite dvi lenteles MySQL naudodami „UNION“ arba „UNION ALL“

„MySQL“ sistemoje „ SĄJUNGOS “ arba „ SĄJUNGOS VISI “ operatoriai gali būti naudojami kelių SELECT teiginių rezultatų rinkiniams sujungti. Sintaksė pateikta žemiau:

PASIRINKTI * NUO [ lentelė1 pavadinimas ]

SĄJUNGOS | SĄJUNGOS VISI

PASIRINKTI * NUO [ lentelė2 pavadinimas ]

Aukščiau pateikta sintaksė gali būti naudojama su „UNION“ arba „UNION ALL“.

1 pavyzdys: „UNION“ operatoriaus naudojimas

„MySQL“ sistemoje „ SĄJUNGOS ” operatorius sujungia kelių SELECT teiginių rezultatus, bet iš rezultato pašalina visas pasikartojančias eilutes. Užklausa pateikiama žemiau:

PASIRINKTI * IŠ vartotojo duomenų
SĄJUNGOS
PASIRINKTI * IŠ darbuotojo duomenų;

Išvestis

Išvestis rodo, kad „ vartotojo duomenys “ ir „ darbuotojo duomenys “ lentelės buvo sujungtos ir pasikartojančios eilutės pašalintos.

2 pavyzdys: „UNION ALL“ operatoriaus naudojimas

„MySQL“ sistemoje „ SĄJUNGOS VISI ” operatorius sujungia kelių SELECT teiginių rezultatus nepanaikindamas pasikartojančių eilučių.

Norėdami giliau suprasti, vykdykime šią užklausą:

PASIRINKTI * IŠ vartotojo duomenų
SĄJUNGOS VISI
PASIRINKTI * IŠ darbuotojo duomenų;

Išvestis

Galima pastebėti, kad gautoje lentelėje taip pat yra pasikartojančių eilučių.

3 pavyzdys: „UNION“ operatoriaus naudojimas su sąlyga

„MySQL“ sistemoje „ SĄJUNGOS ' operatorius taip pat gali būti naudojamas su ' KUR “ sąlyga, skirta filtruoti dviejų ar daugiau SELECT teiginių rezultatą pagal tam tikrą sąlygą.

Pavyzdys pateiktas žemiau:

PASIRINKTI id , Kontaktinis vardas, miestas, šalis FROM darbuotojas WHERE darbuotojas.id < = 5
SĄJUNGOS
PASIRINKTI id , Kontaktinis vardas, miestas, šalis IŠ Tiekėjo WHERE Tiekėjo.id < = 5 ;

Išvestis

Išvestis rodo, kad lentelės ' darbuotojas “ ir „ Tiekėjas “ buvo sujungtos nurodytomis sąlygomis.

Išvada

Norėdami sujungti dvi ar daugiau lentelių, „ SĄJUNGOS “, “ SĄJUNGOS VISI 'ir kablelis' , 'gali būti naudojamas vietoj ' PRISIJUNK “ sąlyga. Kablelis naudojamas pakeičiant ' PRISIJUNK “ raktažodis. „ SĄJUNGOS “ ir „ SĄJUNGOS VISI “ taip pat gali būti naudojamas norint sujungti kelias lenteles su dublikatais arba be jų. Šiame rašte pateikiamas išsamus vadovas, kaip sujungti lenteles nenaudojant JOIN sąlygos.