nisfarm.ru

Příkaz SQL INNER JOIN: příklady, syntaxe a funkce

Vývoj libovolné databáze znamená nejen vytvoření a vyplňování tabulek s různými informacemi, ale také další práce s daty. Pro správné provádění různých úloh pro výběr dat z tabulek a generování sestav se používá standardní konstrukce Select.

sql vnitřní příklad připojení

Data se vybírají z tabulek

Pokud zvážíte úlohu výběru dat nebo sestavení určité zprávy, můžete zjistit úroveň složitosti této operace. Při práci se seriózními (na objemu informací) databází, které jsou vytvořeny například v on-line obchodech nebo ve velkých společnostech, nebude vzorkování dat omezeno pouze na jednu tabulku. Zpravidla může být vzorek z poměrně velkého množství nejen propojené tabulky, ale i vnořené dotazy / sub-dotazy, což programátorovi, v závislosti na jeho úkol. Pro odběr vzorků z jedné tabulky můžete použít nejjednodušší design:

Zvolte * z osoby

kde Osoba je název tabulky, ze které chcete vybrat data.

Pokud je potřeba vybrat data z několika tabulek, můžete použít jeden ze standardních návrhů pro kombinování několika tabulek.

Způsoby připojení dalších tabulek

Pokud uvažujeme o použití těchto struktur na počáteční úrovni, pak můžeme rozlišovat následující mechanismy pro připojení potřebného počtu tabulek pro vzorek, a to:

  1. Operátor Vnitřní spojení.
  2. Left Join nebo, je to druhý způsob nahrávání, Left Out Join.
  3. Křížové spojení.
  4. Full Join.

Použití tabulky operátorů spojení v praxi může být učeno zvážením použití operátora SQL - Internal Join. Příklad jeho použití bude vypadat takto:

Zvolte * z osoby

Vnitřní spojení na Subdivision na Su_Person = Pe_ID

Jazyk SQL a spojení vnitřní spojení operátor lze použít nejen pro spojení dvou nebo více tabulek, ale také k připojení dalších dílčích dotazů, což značně usnadňuje práci správcům databází, a zpravidla může výrazně urychlit provádění specifických, komplikovaných dotazů struktur.

Kombinace dat v tabulkách po řádcích




operátor sql vnitřní příklady připojení

Pokud zvážíte připojení velkého počtu poddotazů a sestavování dat do jednoho řádku tabulky po řádku, můžete také použít operátory Union a Union All.

Aplikace těchto návrhů bude záviset na úkolu přiděleném developerovi a výsledku, který chce nakonec dosáhnout.

Popis operátora Inner Join

Ve většině případů použijete operátor Inner Join k připojení více tabulek v SQL. Popis rozhraní Inner Join v SQL je poměrně jednoduchý pro průměrného programátora k pochopení, který právě začíná chápat databáze. Pokud uvážíme popis mechanismu fungování této konstrukce, získáváme následující obrázek. Logika operátora jako celku je založena na možnosti průniku a odběru vzorků pouze těch dat, které existují v každé z tabulek vstupujících do dotazu.

Pokud tuto práci považujeme z hlediska grafického výkladu, získáme strukturu SQL Inner Join, jejíž příklad lze ukázat pomocí následujícího schématu:

SQL příklady syntaxe spojení

Například máme dvě tabulky, jejichž schéma je znázorněno na obrázku. Na druhé straně mají jiný počet záznamů. V každém z tabulek jsou pole, která jsou spojena dohromady. Pokud se pokusíte vysvětlit práci operátora na základě čísla, vrácený výsledek bude ve formě souboru záznamů ze dvou tabulek, kde se shodují čísla příbuzných polí. Jednoduše řečeno, dotaz vrátí pouze ty záznamy (z tabulky číslo dvě), údaje o kterých je v tabulce číslo jedna.

Syntaxe operátoru Internal Join

Jak bylo uvedeno výše, operátor Inner Join, a to jeho syntaxe, je velmi jednoduchý. Chcete-li uspořádat propojení mezi tabulkami v rámci jednoho vzorku, stačí zapamatovat a použít následující hlavní schéma pro konstrukci operátora, který je zapsán do jednoho řádku kódu programu SQL, a to:

  • Vnitřní připojení [Název tabulky] na [klíčové pole z tabulky, ke které se připojujeme] = [Klíčové pole připojené tabulky].

Pro komunikaci v tomto operátorovi se používají hlavní klávesy tabulek. Zpravidla ve skupině tabulek, které uchovávají informace o zaměstnancích, dříve popsané osoby a subdivize mají alespoň jeden podobný záznam. Podívejme se tedy blíže na prohlášení SQL Inner Join, jehož příklad se ukázal o něco dříve.

Příklad a popis připojení k výběru jedné tabulky

Máme tabulku Osoby, která uchovává informace o všech zaměstnancích, kteří pracují ve společnosti. Stačí si uvědomit, že hlavním klíčem této tabulky je pole - Pe_ID. Jen na to a tam bude spousta.

Druhá tabulka dílčích tříd uloží informace o odděleních, ve kterých zaměstnanci pracují. To je zase spojeno pomocí pole Su_Person s tabulkou Person. Co říkáte? Na základě datového schématu můžete říci, že tabulka oddělení pro jednotlivé položky v tabulce Zaměstnanci bude obsahovat informace o oddělení, ve kterém pracují. Právě pro toto spojení pracuje operátor Inner Join.

Pro lepší pochopení použijte příkaz SQL Inner Join (příklady jeho použití pro jednu a dvě tabulky). Pokud uvažujeme o příkladu pro jednu tabulku, pak je vše vcelku jednoduché:

Zvolte * z osoby

Vnitřní spojení na Subdivision na Su_Person = Pe_ID

Příklad propojení dvou tabulek a poddotazů

sql a připojit operátor spojení

Operátor SQL Inner Join, jehož příklady použití pro načítání dat z několika tabulek lze uspořádat výše uvedeným způsobem, pracuje na mírně komplikovanějším principu. Pro dva tabulky komplikujeme problém. Například máme tabulku Depart, která ukládá informace o všech odděleních v každém oddělení. V této tabulce se zaznamenává číslo oddělení a číslo zaměstnance a datový vzorek by měl být doplněn názvem každého oddělení. Při pohledu do budoucna stojí za to říci, že pro řešení tohoto problému lze použít dvě metody.

Prvním způsobem je propojit tabulku oddělení se vzorkem. V takovém případě můžete žádost uspořádat takto:

Vyberte Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od osoby

Vnitřní spojení na Subdivision na Su_Person = Pe_ID

Vnitřní spojení Vyjděte na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

Druhou metodou řešení problému je použití poddotazů, ve kterých nebude z tabulky oddělení vybrána všechna data, ale pouze požadované údaje. To na rozdíl od první metody zkracuje dobu dotazu.

Vyberte Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od osoby

Vnitřní spojení na Subdivision na Su_Person = Pe_ID

Vnitřní spojení (vyberte Dep_ID, Dep_Name, Pe_Depart od Odlet) jako T na Su_Depart = Dep_ID a Pe_Depart = Dep_ID

Je třeba poznamenat, že takový návrh nemůže vždy zrychlit dotaz. Někdy existují případy, kdy je nutné použít další vzorkování dat v dočasné tabulce (pokud je jejich objem příliš velký) a poté se kombinuje s hlavní vzorkou.

Příklad použití operátoru Internal Join pro výběr z velkého počtu tabulek

Vytváření komplexních dotazů vyžaduje použití významného počtu tabulek a poddotáz, které se vzájemně vztahují k získání dat. Tyto požadavky mohou splňovat syntaxi SQL Inner Join. Příklady použití operátora v tomto případě mohou být komplikovány nejen vzorky z mnoha míst uložení dat, ale také z velkého počtu vnořených poddotazů. Pro konkrétní příklad můžete vzít vzorek dat z systémových tabulek (operátor Inner Join SQL). Příklad - 3 tabulky - v tomto případě bude mít poměrně složitou strukturu.

vnitřní spojení sql Příklad 3 tabulky

V tomto případě jsou přidány další tři (do hlavní tabulky) a zadává se několik podmínek pro výběr dat.

Pokud používáte operátor Inner Join, nezapomeňte, že čím komplexnější je dotaz, tím déle bude implementován, takže stojí za to hledat způsoby, jak rychleji provést a vyřešit tento úkol.vnitřní spojení sql Příklad 3 tabulky

Závěr

Na závěr bych chtěl říci jednu věc: práci s databázemi - není to nejtěžší věc na programování, takže pokud chcete každý člověk bude mít možnost získat znalosti, vybudovat databázi, a časem, získat zkušenosti, dostanete se s nimi pracovat na profesionální úrovni .

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru