Jednoduché spôsoby, ako spojiť tri tabuľky v SQL (s obrázkami)

Obsah:

Jednoduché spôsoby, ako spojiť tri tabuľky v SQL (s obrázkami)
Jednoduché spôsoby, ako spojiť tri tabuľky v SQL (s obrázkami)

Video: Jednoduché spôsoby, ako spojiť tri tabuľky v SQL (s obrázkami)

Video: Jednoduché spôsoby, ako spojiť tri tabuľky v SQL (s obrázkami)
Video: TOP 15 – Skryté funkce na Android, které musíte vyzkoušet! 🔥 2024, Apríl
Anonim

Pri práci s tabuľkami v SQL môže nastať situácia, že potrebujete dotazovať tri alebo viac tabuliek. Tri tabuľky môžete spojiť tak, že najskôr pomocou príkazu join spojíte dve tabuľky a vytvoríte dočasnú spojenú tabuľku. Potom pomocou druhého príkazu join sa pripojte k tretej tabuľke.

Kroky

11227971 1
11227971 1

Krok 1. Zadajte príkaz SELECT a za ním názvy stĺpcov, na ktoré sa chcete dotazovať

Zadajte názov stĺpca z každého z troch, na ktoré chcete zadať dotaz. Jednotlivé názvy stĺpcov oddeľte čiarkou. V tomto prípade budeme dotazovať z troch tabuliek s názvom „Študenti“, „Školy“, „Podrobnosti“

Napríklad VYBERTE ID študenta, meno_ študenta, id_ školy, školu, známku

11227971 2
11227971 2

Krok 2. Zadajte príkaz FROM a za ním názov prvej tabuľky

To môže byť uvedené na samostatnom riadku alebo bezprostredne za prvým vyhlásením. V našom prípade by sme zadali FROM študenti.

11227971 3
11227971 3

Krok 3. Napíšte príkaz join a za ním názov druhej tabuľky

Na spojenie dvoch tabuliek môžete použiť štyri typy príkazov na spojenie. Sú to tieto:

  • Ak chcete urobiť, zadajte príkaz JOIN Vnútorné spojenie. To vráti záznamy, ktoré majú zodpovedajúce hodnoty v oboch tabuľkách. Napríklad OD študentov sa PRIPOJTE k podrobnostiam.
  • Ak chcete vykonať operáciu, zadajte príkaz LEFT JOIN Pripojte sa ľavou stranou. To vráti všetky záznamy z ľavej tabuľky a zodpovedajúce hodnoty z pravej tabuľky. Napríklad OD ŽIAKOV VLEVO PRIPOJTE SA Podrobnosti.
  • Ak chcete vykonať a., Napíšte RIGHT JOIN Pripojiť vonkajšiu pravicu. To vráti všetky záznamy z pravej tabuľky a zodpovedajúce hodnoty z ľavej tabuľky. Napríklad OD študentov PRÁVE SA PRIPOJTE K podrobnostiam.
  • Zadajte príkaz FULL JOIN a vykonajte a Úplné vonkajšie pripojenie. Tým sa vrátia všetky záznamy z oboch tabuliek. Napríklad OD Študentov ÚPLNÉ PRIPOJENIE Podrobnosti.
11227971 4
11227971 4

Krok 4. Zadajte príkaz „ON“pre spájanie tabuliek a stĺpcov

Syntax tohto príkazu je „ON table_1.primary_key = table_2.foreign_key“. „Table_1“je názov prvej tabuľky, ku ktorej sa pripájate, a „primary_key“je názov primárneho stĺpca v prvej tabuľke. „Table_2“je názov druhej tabuľky a „foreign_key“je názov stĺpca z druhej tabuľky, ktorý sa zhoduje s primárnym stĺpcom z prvej tabuľky.

  • V našom prípade je "Študenti" prvou tabuľkou a "student_id" je primárnym kľúčom z tabuľky Študenti, ktorá je tiež v tabuľke Podrobnosti. Zadali by sme teda ON Students.student_id = Details.student_id. Tým sa spojí tabuľka Študenti s tabuľkou Podrobnosti s použitím „student_id“ako primárneho kľúča.
  • Alternatívne, ak je stĺpec meno_študenta v tabuľke „Podrobnosti“, môžete stĺpček meno_študenta zobraziť namiesto poľa id_študenta zadaním položky ON Students.student_id = Details.student_name.
11227971 5
11227971 5

Krok 5. Zadajte príkaz join a za ním názov tretej tabuľky

Môže to byť na samostatnom riadku alebo bezprostredne za príkazom „ON“, ktorý spájal prvé dve tabuľky. Môžete použiť ktorýkoľvek zo štyroch vyhlásení o spojení.

V našom prípade by sme napísali JOIN Schools

11227971 6
11227971 6

Krok 6. Zadajte príkaz „ON“, ktorý označuje, ktoré tabuľky a stĺpce sa spoja

Syntax pre tretie spojenie je „ON table_3.primary_key = table_1.foreign_key“. "Stôl 1". "Tabuľka_3 je názov tretej tabuľky. To pridá tabuľku tri k konečnému spojeniu pomocou názvu primárneho stĺpca z tretej tabuľky a cudzieho kľúča z prvej tabuľky. V našom prípade by sme to zadali ON Schools.student_id = Students.student_id. Celé vyhlásenie o spojení by malo vyzerať takto:

    VYBERTE student_id, student_name, school_id, školu, známku OD ŽIAKOV ÚPLNE PRIPOJTE SA Podrobnosti o Students.student_id = Details.student_id PRIPOJIŤ školy NA Schools.student_id = Students.student_id

Odporúča: