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

Klauzule INNER JOIN ON vs WHERE

INNER JOIN je syntaxe ANSI, kterou byste měli použít.

Obecně se považuje za čitelnější, zvláště když se připojíte k mnoha stolům.

Lze jej také snadno nahradit OUTER JOIN kdykoli vznikne potřeba.

WHERE syntaxe je více orientovaná na relační model.

Výsledek dvou tabulek JOIN ed je kartézský součin tabulek, na které je aplikován filtr, který vybere pouze ty řádky, kterým vyhovují spojovací sloupce.

Snáze to uvidíte pomocí WHERE syntaxe.

Pokud jde o váš příklad, v MySQL (a obecně v SQL) jsou tyto dva dotazy synonyma.

Všimněte si také, že MySQL má také STRAIGHT_JOIN doložka.

Pomocí této klauzule můžete ovládat JOIN pořadí:která tabulka je skenována ve vnější smyčce a která ve vnitřní smyčce.

V MySQL to nemůžete ovládat pomocí WHERE syntaxe.



  1. Tipy pro ukládání záloh MariaDB v cloudu

  2. Jak odebrat primární klíč v SQL

  3. Vyhledejte „shoda celého slova“ pomocí vzoru LIKE pro SQL Server

  4. Připojení Delphi k Salesforce.com