sql >> Databáze >  >> RDS >> Mysql

Jak používat mysql JOIN bez podmínky ON?

MySQL dokumentace pokrývá toto téma.

Zde je shrnutí. Při použití join nebo inner join , on podmínka je volitelná. To se liší od standardu ANSI a liší se od téměř jakékoli jiné databáze. Výsledkem je cross join . Podobně můžete použít on klauzule s cross join , který se také liší od standardního SQL.

Křížové spojení vytvoří kartézský součin – tedy každou možnou kombinaci 1 řádku z první tabulky a 1 řádku z druhé tabulky. Křížové spojení pro tabulku se třemi řádky ('a', 'b' a 'c') a tabulku se čtyřmi řádky (řekněme 1, 2, 3, 4) by mělo 12 řádků.

V praxi, pokud chcete provést křížové spojení, použijte cross join :

from A cross join B

je mnohem lepší než:

from A, B

a:

from A join B -- with no on clause

on klauzule je vyžadována pro pravé nebo levé vnější spojení, takže diskuse pro ně není relevantní.

Pokud potřebujete porozumět různým typům spojení, musíte si prostudovat relační databáze. Stackoverflow není vhodné místo pro tuto úroveň diskuse.



  1. Nelze použít tabulku s názvem user v postgresql hibernaci

  2. MariaDB JSON_QUERY() vysvětleno

  3. Jak se připojit ke zdroji dat MySQL ve Visual Studiu

  4. Mysql dotaz k dynamickému převodu řádků na sloupce