„ 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 < = 5SĄ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.