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

Dziwna definicja widoku SQL Server

SELECT ...
FROM   dbo.viewFirst vf
       INNER JOIN dbo.Table1 t1
         ON vf.MVOID = t1.MVOID
            AND vf.ValidFrom = t1.ValidFrom
       LEFT OUTER JOIN dbo.Table2 t2
                       RIGHT OUTER JOIN dbo.Table3 t3
                         ON t2.OID = t3.FKOID
                       LEFT OUTER JOIN dbo.Table4 t4
                         ON t3.ZVOID = t4.OID
                       LEFT OUTER JOIN dbo.Table5 t5
                                       INNER JOIN dbo.Table4 t6
                                         ON t5.OID = t6.BCOID
                         ON t4.ZVOID = t5.OID
         ON t2.AddressOID = t4.OID  

Ta składnia została omówiona w rozdziale 7 Inside SQL Server 2008 T-SQL Querying lub zobacz listu uzupełniającego autorstwa Lubora Kollara

Mając ON klauzula dla t2.AddressOID = t4.OID na przykład ostatni oznacza, że ​​JOIN z t2 logicznie dzieje się na końcu. tj. inne sprzężenia są logicznie przetwarzane najpierw, a następnie LEFT JOIN dzieje się z wynikiem tych sprzężeń.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd systemu operacyjnego SQL Server 5:5 (odmowa dostępu).

  2. Eksportuj dane XML za pomocą polecenia BCP w SQL Server

  3. Zapytanie TSQL do odwoływania się do poprzednich wierszy

  4. SQL:klauzula IF w klauzuli WHERE

  5. Separator tysięcy w SQL Server 2008 dla kolumny