Według BOL
"Z KRAWATAMI
Używane, gdy chcesz zwrócić dwa lub więcej wierszy, które zajmują ostatnie miejsce w ograniczonym zestawie wyników. Musi być używany z klauzulą ORDER BY. Z POWIĄZANIAMI może spowodować zwrócenie większej liczby wierszy niż wartość określona w wyrażeniu. Na przykład, jeśli wyrażenie jest ustawione na 5, ale 2 dodatkowe wiersze pasują do wartości kolumn ORDER BY w wierszu 5, zestaw wyników będzie zawierał 7 wierszy. "
Utwórzmy tabelę dbo.Customer i znajdźmy różnicę między Top i Top With Ties.
Create table dbo.Customer( Id int, Name VARCHAR(10), Address VARCHAR(100)) --Insert records in dbo.Customer table Insert into dbo.Customer Values(1,'Aamir','XyZ Address') ,(2,'Raza',Null) ,(1,'Aamir','XyZ Address') ,(1,'John','XyZ Address') ,(5,'Lisa','XyZ Address')Zauważyliśmy, że mamy zduplikowane rekordy, jak zaznaczono powyżej. Uruchommy poniższe zapytania, najpierw tylko z Top, a drugie z "Z powiązaniami" i obserwuj wyniki.
Select top (2) * From dbo.Customer order by ID
how to use Top x to get top records from table in SQL Server - TSQL Tutorial |
Jak używać Top z powiązaniami w SQL Server, aby uzyskać Top x wierszy - Samouczek SQL Server / TSQL |