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

Клауза INNER JOIN ON срещу WHERE

INNER JOIN е ANSI синтаксис, който трябва да използвате.

Обикновено се счита за по-четим, особено когато се присъедините към много таблици.

Може също така лесно да бъде заменен с OUTER JOIN когато възникне нужда.

WHERE синтаксисът е по-ориентиран към релационния модел.

Резултат от две таблици JOIN ed е декартово произведение на таблиците, към които се прилага филтър, който избира само онези редове със съвпадащи съединяващи се колони.

По-лесно е да видите това с WHERE синтаксис.

Що се отнася до вашия пример, в MySQL (и в SQL като цяло) тези две заявки са синоними.

Също така имайте предвид, че MySQL също има STRAIGHT_JOIN клауза.

Използвайки тази клауза, можете да контролирате JOIN ред:коя таблица се сканира във външния цикъл и коя е във вътрешния цикъл.

Не можете да контролирате това в MySQL с помощта на WHERE синтаксис.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изисква се за присъединяване на 2 маси с техните FK в 3-та маса

  2. Как да добавите низ с водещи/завършващи знаци в MySQL – LPAD(), RPAD()

  3. Как да променя съпоставянето на база данни, таблица, колона?

  4. Търсете текст в полета във всяка таблица на MySQL база данни

  5. Как да направите резервно копие на една таблица в MySQL база данни?