Buscar..


Introducción

En SQL, las instrucciones SELECT devuelven conjuntos de resultados de colecciones de datos como tablas o vistas. SELECT se pueden usar con varias otras cláusulas como WHERE , GROUP BY u ORDER BY para refinar aún más los resultados deseados.

SELECT básico de la tabla

Seleccione todas las columnas de alguna tabla (tabla del sistema en este caso):

SELECT *
FROM sys.objects

O seleccione solo algunas columnas específicas:

SELECT object_id, name, type, create_date
FROM sys.objects

Filtrar filas usando la cláusula WHERE

La cláusula WHERE filtra solo aquellas filas que satisfacen alguna condición:

SELECT *
FROM sys.objects
WHERE type = 'IT'

Ordenar resultados utilizando ORDENAR POR

La cláusula ORDER BY ordena las filas en el conjunto de resultados devuelto por alguna columna o expresión:

SELECT *
FROM sys.objects
ORDER BY create_date

Resultado de grupo utilizando GROUP BY

La cláusula GROUP BY agrupa las filas por algún valor:

SELECT type, count(*) as c
FROM sys.objects
GROUP BY type

Puede aplicar alguna función en cada grupo (función agregada) para calcular la suma o el recuento de los registros en el grupo.

tipo do
SQ 3
S 72
ESO dieciséis
PK 1
U 5

Filtrar grupos utilizando la cláusula HAVING.

La cláusula HAVING elimina los grupos que no satisfacen la condición:

SELECT type, count(*) as c
FROM sys.objects
GROUP BY type
HAVING count(*) < 10
tipo do
SQ 3
PK 1
U 5

Devolviendo solo las primeras N filas

La cláusula TOP devuelve solo las primeras N filas en el resultado:

SELECT TOP 10 *
FROM sys.objects

Paginación utilizando OFFSET FETCH

La cláusula OFFSET FETCH es una versión más avanzada de TOP. Le permite omitir filas N1 y tomar las siguientes filas N2:

SELECT *
FROM sys.objects
ORDER BY object_id
OFFSET 50 ROWS FETCH NEXT 10 ROWS ONLY

Puede usar OFFSET sin recuperación para saltar las primeras 50 filas:

SELECT *
FROM sys.objects
ORDER BY object_id
OFFSET 50 ROWS

SELECT sin FROM (sin fuente de datos)

La instrucción SELECT se puede ejecutar sin la cláusula FROM:

declare @var int = 17;

SELECT @var as c1, @var + 2 as c2, 'third' as c3 

En este caso, se devuelve una fila con valores / resultados de expresiones.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow