Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да използвам mysql JOIN без условие ON?

MySQL документация обхваща тази тема.

Ето синопсис. Когато използвате join или inner join , on условието е по избор. Това е различно от стандарта ANSI и различно от почти всяка друга база данни. Ефектът е cross join . По същия начин можете да използвате on клауза с cross join , което също се различава от стандартния SQL.

Кръстосаното свързване създава декартов продукт - тоест всяка възможна комбинация от 1 ред от първата таблица и 1 ред от втората. Кръстосаното съединение за таблица с три реда („a“, „b“ и „c“) и таблица с четири реда (да речем 1, 2, 3, 4) ще има 12 реда.

На практика, ако искате да направите кръстосано присъединяване, тогава използвайте cross join :

from A cross join B

е много по-добре от:

from A, B

и:

from A join B -- with no on clause

on Клаузата е необходима за дясно или ляво външно присъединяване, така че дискусията не е от значение за тях.

Ако трябва да разберете различните типове съединения, тогава трябва да изучите релационни бази данни. Stackoverflow не е подходящо място за това ниво на дискусия.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да върна цели и числови колони от MySQL като цели числа и числа в PHP?

  2. Опитвам се да получа свойство на необект - CodeIgniter

  3. MySQL TEXT срещу BLOB срещу CLOB

  4. Безплатен уеб хостинг с поддръжка на PHP

  5. Въведение в SQL групиране и сумиране