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

Jak korzystać z mysql JOIN bez warunku ON?

MySQL dokumentacja obejmuje ten temat.

Oto streszczenie. Gdy używasz join lub inner join , on warunek jest opcjonalny. Różni się to od standardu ANSI i prawie każdej innej bazy danych. Efektem jest cross join . Podobnie możesz użyć on klauzula z cross join , który również różni się od standardowego SQL.

Połączenie krzyżowe tworzy iloczyn kartezjański — czyli każdą możliwą kombinację 1 wiersza z pierwszej tabeli i 1 wiersza z drugiej. Połączenie krzyżowe dla tabeli z trzema rzędami ('a', 'b' i 'c') i tabeli z czterema rzędami (powiedzmy 1, 2, 3, 4) miałoby 12 rzędów.

W praktyce, jeśli chcesz wykonać łączenie krzyżowe, użyj cross join :

from A cross join B

jest znacznie lepszy niż:

from A, B

i:

from A join B -- with no on clause

on klauzula jest wymagana dla prawego lub lewego sprzężenia zewnętrznego, więc dyskusja nie jest dla nich istotna.

Jeśli chcesz zrozumieć różne typy złączeń, musisz przestudiować relacyjne bazy danych. Stackoverflow nie jest odpowiednim miejscem do dyskusji na tym poziomie.



  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 uzyskać identyfikator ostatniego wstawienia po zapytaniu o wstawienie w aktywnym rekordzie codeigniter

  2. Czy mogę użyć przygotowanej instrukcji PDO do powiązania identyfikatora (nazwy tabeli lub pola) lub słowa kluczowego składni?

  3. Jak przyciąć tabelę w MySQL

  4. Znajdź zduplikowane rekordy w MySQL

  5. Użyj relacyjnych baz danych MySQL na Ubuntu 9.10 (Karmic)