Souhlasím s Cadem ohledně omezení Vennových diagramů zde. Výstižnější vizuální reprezentace může být toto.
Tabulky

VYBERTE A.Colour, B.Colour Z PŘÍČNÉHO PŘIPOJENÍ B SQL Fiddle
Křížové spojení (nebo kartézský součin) vytváří výsledek s každou kombinací řádků ze dvou tabulek. Každá tabulka má 4 řádky, takže výsledkem je 16 řádků.

VYBERTE A.Colour, B.Colour Z VNITŘNÍHO SPOJENÍ B NA A.Colour =B.Colour SQL Fiddle
Vnitřní spojení logicky vrátí všechny řádky z křížového spojení, které odpovídají podmínce spojení. V tomto případě pět ano.

VYBERTE A.Colour, B.Colour Z VNITŘNÍHO SPOJENÍ B NA A.BARVA NENÍ V ('Zelená','Modrá') SQL Fiddle
Podmínka vnitřního spojení nemusí být nutně podmínkou rovnosti a nemusí odkazovat na sloupce z obou (nebo dokonce ani jedné) z tabulek. Hodnocení A.Colour NOT IN ('Green','Blue') na každém řádku křížového spojení se vrátí.

Podmínka vnitřního spojení 1=1 by se vyhodnotil jako true pro každý řádek v křížovém spojení, takže oba jsou ekvivalentní (SQL Fiddle
).
VYBERTE A.Colour, B.Colour Z LEVÉHO VNĚJŠÍHO SPOJENÍ B NA A.Colour =B.Colour SQL Fiddle
Vnější spojení jsou logicky vyhodnocována stejným způsobem jako vnitřní spojení s tím rozdílem, že pokud se řádek z levé tabulky (u levého spojení) nespojí s žádnými řádky z pravé tabulky, je ve výsledku zachován pomocí NULL hodnoty pro pravé sloupce.

VYBERTE A.Colour, B.Colour Z LEVÉHO VNĚJŠÍHO SPOJENÍ B ON A.Colour =B.Colour KDE B.Colour JE NULL SQL Fiddle
To jednoduše omezí předchozí výsledek tak, aby vrátil pouze řádky, kde B.Colour IS NULL . V tomto konkrétním případě to budou řádky, které byly zachovány, protože se v tabulce vpravo neshodovaly a dotaz vrátí jediný červený řádek, který se v tabulce B neshoduje. . Toto je známé jako anti semi join.
Je důležité vybrat sloupec pro IS NULL test, který buď nemá hodnotu null, nebo u kterého podmínka spojení zajišťuje, že NULL hodnoty budou vyloučeny, aby tento vzor fungoval správně a nedošlo k pouhému vracení řádků, které náhodou mají NULL hodnotu pro tento sloupec navíc k neodpovídajícím řádkům.

VYBERTE A.Colour, B.Colour Z PRAVÉHO VNĚJŠÍHO SPOJENÍ B NA A.Colour =B.Colour SQL Fiddle
Pravá vnější spojení fungují podobně jako levá vnější spojení s tím rozdílem, že zachovávají neodpovídající řádky z pravé tabulky a nulové rozšiřují levé sloupce.

VYBERTE A.Colour, B.Colour Z ÚPLNÉHO VNĚJŠÍHO SPOJENÍ B NA A.Colour =B.Colour SQL Fiddle
Úplná vnější spojení kombinují chování levého a pravého spojení a zachovávají neshodné řádky z levé i pravé tabulky.
