SQL SELECT TOP

SQL SELECT TOP


    


DEFINICJA

Polecenie SELECT TOP służy do filtrowania wyników zapytania. Po słówku TOP wpisujemy wartość liczbową określającą ile pierwszych rekordów zwróconych przez zapytanie chcemy wyświetlić.

SQL SELECT TOP składnia

SELECT TOP wartość_liczbowa_ilość_rekordów_do_wyświetlenia
    nazwy_kolumy(kolumn)
FROM
    nazwa_tabeli
ORDER BY
    nazwa_kolumny1 ASC , nazwa_kolumny2 DESC


Przykład zastosowania SELECT TOP (baza Adventureworks)

Wyświetl wszyskie osoby (tylko kolumny: Nazwisko, Imię, Email) z bazy wraz z ich adresami email. Wyniki posortuj wg nazwiska (malejąco) a następnie wg adresu email (rosnąco). Wyświetl pierwszych 10 rekordów zwróconych przez zapytanie.

SELECT TOP 10
     P.LastName
    ,P.FirstName
    ,E.EmailAddress
FROM
    Person.Person P
        JOIN Person.EmailAddress E ON (P.BusinessEntityID = E.BusinessEntityID)    
ORDER BY
    LastName DESC, EmailAddress   

 


 Przykład zastosowania SELECT TOP (baza Northwind)

Wyświetl wszystkie produkty (tylko kolumny: ID, Nazwa Produktu, Kategoria Produktu) wraz z ich kategoriami. Wyniki posortuj wg nazwy produktu (rosnąco) a następnie wg nazwy kategorii (malejąco). Wyświetl pierwszych 100 rekordów zwróconych przez zapytanie.

SELECT TOP 100
     P.ProductID
    ,P.ProductName
    ,C.CategoryName
FROM
    Products P JOIN Categories C ON (P.CategoryID = C.CategoryID)
ORDER BY
    ProductName ASC, CategoryName DESC   

system wyświetlił tylko 77 rekordów, bo tylko tyle zwróciło zapytanie mimo, że polecenie TOP miało wartość 100