Filtriranje in urejanje rezultatov poizvedbe

Podatki v podatkovni bazi morajo biti edinstveni (kar zagotavlja primarni ključ), vendar rezultati katerekoli poizvedbe morda ne bodo – vzemimo na primer tabelo film. Istega leta lahko izide veliko različnih filmov, ki bodo imeli v stolpcu leto isto vrednost. V takih primerih lahko z uporabo ključne besede DISTINCT zavrnemo vrstice, ki imajo podvojene vrednosti stolpcev.

Poizvedba SELECT z neponavljajočimi rezultati
SELECT DISTINCT stolpec1, stolpec2, ... FROM tabela
WHERE pogoj(i);

Večina podatkov v resnične podatkovne baze ni dodana v nobenem posebnem vrstnem redu. Posledično je težko prebrati in razumeti rezultate poizvedbe, saj lahko rezultati obsegajo na tisoče ali celo milijone vrstic. Zato jezik SQL s pomočjo ključne besede ORDER BY ponuja način razvrščanja rezultatov po danem stolpcu v naraščajočem ali padajočem vrstnem redu.


Poizvedba SELECT z urejenimi rezultati
SELECT stolpec1, stolpec2, ... FROM tabela
WHERE pogoj(i) ORDER BY stolpec ASC/DESC;

Ključni besedi LIMIT in OFFSET, ki se uporabljata s ključno besedo GROUP BY, omogočata prikaz podmnožice rezultatov. LIMIT zmanjša število vrnjenih vrstic, neobvezni OFFSET pa pove, kje naj se začne odmik vrnjenih rezultatov.

Poizvedba SELECT z omejenim številom urejenih rezultatov
SELECT stolpec1, stolpec2, ... FROM tabela
WHERE pogoj(i) ORDER BY stolpec ASC/DESC
LIMIT stev_rezultatov OFFSET stev_odmika;
Tabela: film
Nalagam SQL ...

Vaja 4 – naloge

  1. Izpiši vse režiserje v abecednem vrstnem redu brez ponavljanj.
  2. Izpiši deset najbolje ocenjenih filmov.
  3. Izpiši deset najslabše ocenjenih filmov.
  4. Izpiši zadnje štiri filme studia Illumination (najprej najnovejše).
  5. Izpiši prvih pet filmov studia DreamWorks, urejenih po abecednem vrstnem redu.
  6. Izpiši drugih pet filmov studia DreamWorks, urejenih po abecednem vrstnem redu.
  7. Izpiši tri najboljše filme v prvem desetletju 21. stoletja (najprej najboljšega).
Ne gre? Klikni gumb »Rešitev«.