SELECT /* Det er her vi velger ut hva som kommer i relasjonen/utskriften. Du kan ha vanlige variabler/kolonner, aggregatfunksjoner, eller det meste du kan definere selv. Separert med komma! Den kan ta i fra alle relasjonene som er "koblet" til den i FROM delen. Det er i SELECT delen man spesifiserer om du ?nsker duplikater eller ikke, ved ? legge til DISTINCT f?r variablene/kolonnene. Dette er den ENESTE delen som er obligatorisk. Alt annet kan sl?yfes. Den minste SELECT setningen: SELECT 'hei' AS velkommen; */ FROM /* Det er herifra dataen vi henter ut kommer fra. Alt i FROM er enten er ekte, eller virtuell, tabell. Dette er det *vanligste* stedet ? bruke indre SELECT setninger. Alle eksplisitte JOIN'er er gjort i FROM delen av en sp?rring. Minimal FROM: SELECT * FROM film; */ WHERE /* Dette er 'filtreringen'. Her kan du sette alt som tilslutt blir til en boolean verdi. Alle rader/tupler som ikke matcher kriteret/filteret blir fjernet fra sluttresultatet. Den kj?res f?r GROUP BY. CONDITION p? engelsk. */ GROUP BY /* Denne funksjonen grupperer alle rader som matcher det oppgitte utrykket. Alle aggregatfunksjoner vil deretter fungere p? hver enkel gruppe, og ikke p? hele datasettet. Det vanligste ? sette her/gruppere p? er kolonne navn. En tommelfinger regel: Hvis det er en aggregatfunksjon i SELECT setningen s? m? alle variabler/kolonner som ikke er i aggregatfunksjonene v?re i "GROUP BY". */ HAVING /* HAVING er WHERE for alt som har med gruppene i GROUP BY eller aggregatfunksjoner ? gj?re. Den kj?res ETTER at tuplene har blitt gruppert, alts? etter GROUP BY. Alt i HAVING m? ogs? tilslutt bli en boolean verdi. Alle rader/tupler som ikke matcher kriteret/filteret blir fjernet fra sluttresultatet. */ ORDER BY /* Dette er m?ten vi sorterer resultatet p?. Det vanlige er ? enten sortere med ASC eller DESC, som st?r for Ascending og Descending. Ascending er da 1, 2, 3... Descending er da 6, 5, 4... Hvis du ikke spesifiserer s? vil PSQL anta at du mente ASC (Ascending). Du kan sortere p? flere kolonner enn 1. Hvis du gj?r det vil den prioritere den f?rste kolonnen, og deretter se p? neste hvis den f?rste kolonnen har noen like verdier. */ LIMIT /* Denne sier bare hvor mange rader som skal taes med i resultatet. Gi den et tall og den gj?r at resultatet ikke har mere enn det antallet rader. (Kan fortsatt ha mindre!) Det er vanlig ? ha en ORDER BY n?r du bruker LIMIT, for ? sikre at resultatene kommer i den rekkef?lgen du forventet, men det er ikke et krav. Hvis du spesifierer en LIMIT, kan du ogs? spesifisere en OFFSET. OFFSET vil da si at du begynner ? telle LIMIT etter at du har hoppet over OFFSET-antall rader. */ -- PSQL dokumentasjon om SELECT: -- https://www.postgresql.org/docs/8.2/static/sql-select.html