Doporučená, 2024

Redakce Choice

Rozdíl mezi vnitřním spojem a vnějším spojením v SQL

Vnitřní spoj a vnější spoj jsou oba typy spojení. Spojit srovnává a kombinuje n-tice ze dvou vztahů nebo tabulek. Vnitřní spojení určuje přirozené spojení, tj. Pokud zapíšete klauzuli Join bez klíčového slova Inner, pak provede operaci přirozeného spojení. Potenciální rozdíl mezi vnitřním spojem a vnějším spojením je ten, že vnitřní spojka vrací pouze odpovídající n-tice z tabulky a vnější spojka vrací všechny n-tice z obou porovnávaných tabulek. Pojďme diskutovat některé další rozdíly mezi vnitřním spojením a vnějším spojením pomocí srovnávací tabulky uvedené níže.

Srovnávací graf

Základ pro porovnáníVnitřní spojeníVnější spojení
ZákladníVnitřní spojení vystupuje pouze odpovídajícími n-ticemi z obou tabulek.Vnější spojení zobrazuje všechny n-tice z obou tabulek.
DatabázePotenciální velikost databáze vrácené pomocí Inner Join je poměrně menší než Outer Join.Vnější spojení vrátí poměrně větší databázi.
TypyŽádné typy.Vnější vnější spojení,
Pravý vnější spoj,
a Úplné vnější spojení.

Definice vnitřního spojení

Vnitřní spojení je také označováno jako Natural Join. Vnitřní spojení porovnává dvě tabulky a kombinuje odpovídající dvojici v obou tabulkách. Je také nazýván jako výchozí typ spojení, protože klauzule Join je napsána bez vnitřního klíčového slova, které provádí přirozené spojení. Pokud je klauzule Join zapsána bez vnějšího klíčového slova, provede se také vnitřní spojení.

Vnitřní spojení lze vysvětlit příkladem. Existují dvě tabulky tabulek studentů a oddělení. Nyní nám umožňuje pochopit, co dělá vnitřní spojení.

SELECT Název, Sem, Deparment_name Od Student INNER JOIN Oddělení ON Student.Department_ID = Department.ID.

Vidíte, že pouze ty n-tice jsou získány ve výsledném, kde Student.Department_ID = Department.ID. Můžeme tedy říci, že Inner Join kombinuje pouze odpovídající dvojici dvou tabulek.

Definice vnějšího spojení

Na rozdíl od Inner Join jsou na výstupu pouze ty n-tice, které mají stejné hodnoty atributů v obou srovnaných tabulkách; Vnější výstupy spojí všechny n-tice obou tabulek. Vnější spoj je tří typů Levý vnější spoj, pravý vnější spoj a plný vnější spoj .

Chápeme je jeden po druhém. Nejprve si vezmeme levý vnější spoj.

Vyberte jméno, název_domény ze studentského levého vnějšího spojovacího oddělení ON Student.Department_ID = Depoartment.ID.

Můžete vidět, že ve výsledku jsou zobrazeny všechny n-tice ze Studentské tabulky.

Vyberte Název, Název_domény z Oddělení Vpravo Připojit Student ON Student.Department_ID = Depoartment.ID.

Můžete vidět, že jsou zobrazeny všechny n-tice z tabulky oddělení.

Vyberte jméno, název_domény ze studentského oddělení pro externí spojení ON Student.Department_ID = Depoartment.ID.

Můžete si všimnout, že ve výsledku jsou zobrazeny všechny n-tice z obou tabulek.

Klíčové rozdíly mezi vnitřním spojem a vnějším spojením

  1. Základní rozdíl mezi vnitřním spojem a vnějším spojením je ten, že vnitřní spoj se porovnává a kombinuje pouze odpovídající n-tice z obou tabulek. Na druhou stranu Outer Join porovnávají a kombinují všechny n-tice z obou porovnávaných tabulek.
  2. Velikost databáze výsledného výsledku získaného z vnitřní vazby je menší než vnější spojení.
  3. Existují tři typy vnějšího spojení vnějšího spojení, vnějšího spoje vně a úplného vnějšího spojení. Ale vnitřní spojení nemá takové typy.

Závěr:

Obě spojení jsou velmi užitečná. Použití závisí na požadavku uživatele.

Top