Les sentències SELECT en llenguatge SQL retornen un conjunt de resultats (result set) format per files, les quals formades per registres, d'una o més taules o vistes de la base de dades.[1][2]SELECT és la comanda DML més utilitzada en les aplicacions.
Les consultes SELECT especifiquen un conjunt de resultats, però no especifiquen com calcular-ho donat que l'SQL és un llenguatge declaratiu. La base de dades tradueix la consulta en un "pla d'execució" que pot variar entre execucions, versió de base de dades i programari de la base de dades. Aquesta funcionalitat es coneix com a "query optimizer" (optimitzador de consulta), car és responsable de trobar el millor pla d'execució possible per a la consulta, dins de les restriccions aplicables.
Les sentències SELECT tenen diverses clàusules opcionals:
La consulta SELECT*FROMT retorna tots els elements de totes les files de la taula T. La segona consulta, SELECTC1FROMT, retorna el camp C1 de totes les files de la taula a la Base de Dades. Aquesta consulta és similar a la projecció de l'àlgebra relacional, amb l'excepció que en aquest cas general, el resultat pot contenir files duplicades. Aquest cas es coneix en algunes bases de dades com una partició vertical (Vertical Partition), perquè restringeix el resultat de la consulta a només els camps o columnes especificats.
La tercera consulta, SELECT*FROMTWHEREC1=1, retorna tots els camps de la taula T on el seu camp C1 tingui com a valor '1'. És el que es coneix en terminologia d'àlgebra relacional com a selecció. Altrament també es coneix com a partició horitzontal (Horizontal Partition), perquè restringeix les files resultants a aquelles que compleixen les condicions especificades.
Quan s'utilitza més d'una taula, el resultat serà la combinació de les files. Llavors, si tenim les taules T1 i T2 i la consulta SELECT*FROMT1,T2 el resultat serà la combinació de totes les files de T1 amb totes les files de T2. Per exemple, si T1 té 3 files i T2 en té 5, el nombre de files resultants serà 15.