VOOZH about

URL: https://ca.wikipedia.org/wiki/Select_(SQL)

⇱ Select (SQL) - Viquipèdia, l'enciclopèdia lliure


Vés al contingut
De la Viquipèdia, l'enciclopèdia lliure
👁 Image
Select

TipusSQL keyword (en) 👁 Tradueix
👁 Modifica el valor a Wikidata
Més informació
Stack ExchangeEtiqueta 👁 Modifica el valor a Wikidata

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:

  • WHERE especifica quines files recuperar.
  • GROUP BY agrupa files que comparteixen una propietat per així poder aplicar una funció agregada a cada grup.
    • HAVING selecciona entre els grups definits per la clàusula GROUP BY.
  • ORDER BY especifica l'ordre amb el qual s'han de retornar les files. (ASC o DSC)
  • AS assigna un alies que es pot utilitzar per canviar el nom temporalment de taules o columnes.

Exemples

[modifica]
Taula "T" Consulta Resultat
C1C2
1a
2b
SELECT*FROMT;
C1C2
1a
2b
C1C2
1a
2b
SELECTC1FROMT;
C1
1
2
C1C2
1a
2b
SELECT*FROMTWHEREC1=1;
C1C2
1a
C1C2
1a
2b
SELECT*FROMTORDERBYC1DESC;
C1C2
2b
1a

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.

Referències

[modifica]

Bibliografia

[modifica]
  • Horizontal & Vertical Partitioning, Microsoft SQL Server 2000 Books Online

Viccionari