Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Klauzula INNER JOIN ON vs WHERE

INNER JOIN to składnia ANSI, której powinieneś używać.

Ogólnie uważa się, że jest bardziej czytelny, zwłaszcza gdy dołączasz do wielu stołów.

Można go również łatwo zastąpić OUTER JOIN kiedy tylko zajdzie taka potrzeba.

WHERE składnia jest bardziej zorientowana na model relacyjny.

Wynik dwóch tabel JOIN ed jest iloczynem kartezjańskim tabel, do których stosowany jest filtr, który wybiera tylko te wiersze, które pasują do łączących się kolumn.

Łatwiej to zobaczyć za pomocą WHERE składnia.

Jeśli chodzi o twój przykład, w MySQL (i ogólnie w SQL) te dwa zapytania są synonimami.

Pamiętaj też, że MySQL ma również STRAIGHT_JOIN klauzula.

Używając tej klauzuli, możesz kontrolować JOIN kolejność:która tabela jest skanowana w zewnętrznej pętli, a która w wewnętrznej pętli.

Nie możesz tego kontrolować w MySQL za pomocą WHERE składnia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować phpMyAdmin na zarządzanych kontach hostingowych

  2. Neo4j - Usuń węzeł za pomocą Cypher

  3. Składnia SQL DELETE – wymieniona przez DBMS

  4. Jaki jest najprostszy sposób wypełniania pustych dat w wynikach sql (na końcu mysql lub perl)?

  5. Jak podłączyć zdalną bazę danych MySQL w PHP