SELECT * FROM table WHERE datecolumn = (WYBIERZ max (datokolumna) Z tabeli);
SELECT TOP 1 * FROM table ORDER BY datecolumn DESC;
te zapytanie zwróci wynik różnicowy w koszcie. z planu wykonania serwera sql pierwsze zapytanie. Zapytanie podrzędne zostanie uruchomione jako pierwsze i zeskanuje krotki tabeli i uzyska maksymalną wartość datecolumn po tym, że zapytanie zewnętrzne zeskanuje tabelę i wyszuka w niej datcolumn = ..... w ten sposób nie jest to efektywność.
Druga kwerenda jest bardziej efektywna, ponieważ istnieje tylko jedna krotka skanowania tabeli.
Uwaga: jeśli datacolumn jest kolumną podstawową lub kolumną indeksu, nie jest istotna różnica obu zapytań. ale jeśli ta kolumna nie jest indeksem i kluczem podstawowym, to może znacząco różnić się kosztem:
Mogą one powodować różne wyniki. Górny przykład może zwrócić więcej niż jeden wiersz (w zasadzie każdy wiersz odpowiadający największej dacie). Zapytanie dolne zwraca tylko 1 wiersz (i nie robi nic o związaniu dat) – Sparky