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

W jakiej kolejności oceniane są JOIN MySQL?

  1. USING (nazwa pola) to skrótowy sposób wyrażenia ON table1.fieldname =table2.fieldname.

  2. SQL nie definiuje „kolejności”, w jakiej wykonywane są JOINS, ponieważ nie jest to natura języka. Oczywiście kolejność musi być określona w wyciągu, ale ZŁĄCZENIE WEWNĘTRZNE można uznać za przemienne:możesz je wymienić w dowolnej kolejności i uzyskasz te same wyniki.

    To powiedziawszy, podczas konstruowania SELECT ... JOIN, szczególnie takiego, które zawiera LEFT JOIN, zauważyłem, że ma sens traktowanie trzeciego JOIN jako połączenia nowej tabeli z wynikami pierwszego JOIN, czwartego JOIN jako połączenia wyniki drugiego DOŁĄCZENIA i tak dalej.

    Rzadziej określona kolejność może wpływać na zachowanie optymalizatora zapytań ze względu na sposób, w jaki wpływa na heurystykę.

  3. Nie. Sposób tworzenia zapytania wymaga, aby firmy i użytkownicy posiadali identyfikator firmy, zadania mają identyfikator użytkownika i zadania, a konta użytkowników mają identyfikator użytkownika. Jednak tylko jedna z firm lub użytkownik potrzebuje identyfikatora użytkownika, aby funkcja JOIN działała.

  4. Klauzula WHERE filtruje cały wynik — tj. wszystkie kolumny JOINed — przy użyciu kolumny podanej w tabeli zadań.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja daty Mysql nie działa krócej niż

  2. Jak wyszukać dokładną liczbę w php

  3. Zapytanie MYSQL używające zmiennej jako nazwy tabeli w LEFT JOIN

  4. Jak zaktualizować pole, aby dodać wartość do istniejącej wartości?

  5. Używanie libmysqlclient w aplikacji wielowątkowej