Kā savienot divas tabulas pakalpojumā MySQL, neizmantojot savienojumu?

Ka Savienot Divas Tabulas Pakalpojuma Mysql Neizmantojot Savienojumu



' PIEVIENOJIES ” klauzula tiek izmantota, lai apvienotu MySQL tabulas, taču tabulu var savienot arī to neizmantojot. Konkrētāk, “ SAVIENĪBA ”, “ SAVIENĪBA VISU 'un komats' , ” ir trīs dažādi veidi, kā nodrošināt tādu pašu rezultātu kā klauzula “JOIN”. Komatu var izmantot klauzulas “JOIN” vietā, savukārt “UNION” vai “UNION ALL” tiek izmantoti ar paziņojumu “SELECT”, lai apvienotu divu tabulu ierakstus.

Šajā rakstā tiks paskaidrots, kā MySQL savienot divas tabulas:







1. metode: savienojiet divas tabulas MySQL, izmantojot ','

Programmā MySQL tabulas var savienot, izmantojot “ , ' vietā' PIEVIENOJIES ” klauzula. Tās sintakse ir norādīta zemāk:



ATLASĪT *
NO [ tabula1-nosaukums ] , [ tabula2-nosaukums ] ;



Galvenā atšķirība ir tikai atslēgvārda “ PIEVIENOJIES ' ar ' , ”:





ATLASĪT *
NO [ tabula1-nosaukums ] PIEVIENOJIES [ tabula2-nosaukums ] ;

Izmantojiet komatu ' , ' sintakse ar ' KUR ” klauzulu, lai pievienotu tabulas, pamatojoties uz konkrētu nosacījumu. Sintakse ir norādīta zemāk:



ATLASĪT *
NO [ tabula1-nosaukums ] , [ tabula2-nosaukums ]
KUR [ stāvokli ] ;

1. piemērs: “,” bez nosacījuma izmantošana

Pievienosimies' produktiem ' un ' lietotāja dati ' tabulas, norādot ' , ' sekojoši:

ATLASĪT *
NO produktiem, lietotāja dati;

Izvade

Izvade parāda, ka tabulas “products” un “userdata” ir apvienotas, neizmantojot klauzulu “JOIN”.

2. piemērs: “,” izmantošana ar nosacījumu

Apskatīsim piemēru divu tabulu savienošanai, kur ' userdata.id ' ir labāks par 2 :

ATLASĪT *
NO produktiem, lietotāja dati
WHERE userdata.id > 2 ;

Izvade

Izvade parādīja, ka atlasītās tabulas ir apvienotas, pamatojoties uz doto nosacījumu.

2. metode: savienojiet divas tabulas MySQL, izmantojot “UNION” vai “UNION ALL”

Programmā MySQL “ SAVIENĪBA ” vai “ SAVIENĪBA VISU ” operatorus var izmantot, lai sapludinātu vairāku SELECT priekšrakstu rezultātu kopas. Sintakse ir norādīta zemāk:

ATLASĪT * NO [ tabula1-nosaukums ]

SAVIENĪBA | SAVIENĪBA VISU

ATLASĪT * NO [ tabula2-nosaukums ]

Iepriekš minēto sintaksi var izmantot ar “UNION” vai “UNION ALL”.

1. piemērs: Operatora “UNION” izmantošana

Programmā MySQL “ SAVIENĪBA ” operators apvieno vairāku SELECT priekšrakstu rezultātus, bet no rezultāta izslēdz visas dublētās rindas. Vaicājums ir sniegts zemāk:

ATLASĪT * NO lietotāja datiem
SAVIENĪBA
ATLASĪT * NO darbinieku datiem;

Izvade

Izvade parāda, ka “ lietotāja dati ' un ' darbinieku dati ” tabulas ir apvienotas un dublētās rindas ir likvidētas.

2. piemērs: Operatora “UNION ALL” izmantošana

Programmā MySQL “ SAVIENĪBA VISU ” operators apvieno vairāku SELECT priekšrakstu rezultātus, neizslēdzot dublētās rindas.

Lai iegūtu dziļu izpratni, izpildīsim šādu vaicājumu:

ATLASĪT * NO lietotāja datiem
SAVIENĪBA VISU
ATLASĪT * NO darbinieku datiem;

Izvade

Var novērot, ka iegūtā tabula satur arī dublētās rindas.

3. piemērs: Operatora “UNION” izmantošana ar nosacījumu

Programmā MySQL “ SAVIENĪBA ' operatoru var izmantot arī ar ' KUR ” klauzulu, lai filtrētu divu vai vairāku SELECT priekšrakstu rezultātu, pamatojoties uz konkrētu nosacījumu.

Piemērs ir sniegts zemāk:

ATLASĪT id , Kontaktpersonas vārds, pilsēta, valsts FROM darbinieks WHERE darbinieks.id < = 5
SAVIENĪBA
ATLASĪT id , Kontaktpersonas nosaukums, pilsēta, valsts NO Piegādātāja WHERE Piegādātāja.id < = 5 ;

Izvade

Izvade parāda, ka tabulas ' darbinieks ' un ' Piegādātājs ” ir pievienoti saskaņā ar norādītajiem nosacījumiem.

Secinājums

Lai savienotu divus vai vairākus galdus, “ SAVIENĪBA ',' SAVIENĪBA VISU 'un komats' , ' var izmantot '' vietā PIEVIENOJIES ” klauzula. Komats tiek izmantots, aizstājot ' PIEVIENOJIES ” atslēgvārds. ' SAVIENĪBA ' un ' SAVIENĪBA VISU ” var izmantot arī, lai savienotu vairākas tabulas ar vai bez dublikātiem. Šajā pārskatā ir sniegta detalizēta rokasgrāmata par tabulu savienošanu, neizmantojot JOIN klauzulu.