Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2005 — kolejność połączeń wewnętrznych

SQL jest deklaratywny, to znaczy kolejność JOIN nie powinna mieć znaczenia.

Jednak w praktyce może to być, powiedzmy, jeśli jest to złożone zapytanie, gdy optymalizator nie zbada wszystkich opcji (co teoretycznie może zająć miesiące).

Inną opcją jest to, że jeśli zmienisz kolejność i uzyskasz inne wyniki, będzie to zupełnie inne zapytanie, ale zwykle dzieje się tak z OUTER JOIN.

Może to być również sposób określenia klauzuli ON. Musi się zmienić, jeśli zmienisz kolejność klauzuli FROM. Chyba że używasz starszej (i złej) klauzuli JOIN-in-the-GDZIE.

Na koniec, jeśli jest to problem, możesz użyć nawiasów, aby zmienić kolejność oceny, aby wyjaśnić swoje intencje, powiedzmy, filtrując najpierw dużą tabelę, aby wygenerować tabelę pochodną.



  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 sprawić, aby SQL Server 2008 sprawdzał ograniczenie tabeli zezwalać tylko na niektóre znaki?

  2. SQL Server - po wstawieniu wyzwalacza - zaktualizuj kolejną kolumnę w tej samej tabeli

  3. SQL:znaleźć ciągłe zakresy dat w wielu wierszach?

  4. Co SqlDbType mapuje na varBinary(max)?

  5. Entity Framework Core 2,0:jak raz skonfigurować abstrakcyjną klasę bazową