SQL RIGHT JOIN

Příkaz RIGHT JOIN v SQL vytváří relaci mezi 2 tabulkami a vrací všechny záznamy z pravé tabulky(B) spolu se záznamy, které jsou nalezeny i v levé tabulce (A). Záznamy které nebyly nalezeny v levé tabulce a existují v pravé získají hodnotu NULL.

SQL right join

Syntaxe:

/*RIGHT JOIN je ekvivalentní s RIGHT OUTER JOIN*/
SELECT sloupce
FROM Tabulka_A RIGHT JOIN Tabulka_B
ON TabulkaA.sloupec=TabulkaB.sloupec

Příklad RIGHT JOIN

Princip spojování tabulek si ukážeme na příkladu s fotbalovými týmy. Mějme 2 tabulky, prohlédněte si je:

  • Fotbalove_tymy (ID, Tym, Id_mesto)
  • Mesta (ID, Nazev_mesta)
fotbalove-tymy-priklad

Vstupní data

Zobrazíme si seznam fotbalových týmů a k nim domácí město, skript bude vypadat takto:

SELECT
Fotbalove_tymy.ID, Fotbalove_tymy.Tym, Mesto.Mesto
FROM Fotbalove_tymy RIGHT JOIN Mesto
ON Fotbalove_tymy.Id_Mesto=Mesto.Id

Co děláme? Vytváříme relaci mezi tabulkami. Podmínku, na základě které se nám záznamy v obou tabulkách spojí leží v ON klauzuli (Fotbalove_tymy.Id_Mesto=Mesto.Id).

Right-join-result-e1444499913824

Výsledek

Ve výsledku jsou zobrazena všechna možná města z tabulky „Mesto“ (pravá/right tabulka) a k nim jsou zobrazeny fotbalové týmy.

  • Tým Brno v tabulce nenajdeme, protože Brno není doplněno v tabulce „Mesto“ a right join nám město automaticky vyloučí.
  • Na druhou stranu Ostava a Horní Dolní v tabulce s městy existuje, nemáme k nim ale tým, proto jsou pole [ID] a [Tym] NULL

Reagovat na příspěvek