Select – Teoría

Visualización de la información de la base de datos
Instrucción: Select
Permite la recuperación de los datos de una o mas tablas de la base de datos.

Sintaxis
La forma de usar la instrucción select es compleja, un resumen de las opciones que tiene se pueden resumir en las líneas a continuación, es necesario anotar que se pueden combinar las opciones.

Para listar los campos de una tabla.

Seleccione ListaDeCampos
from Tabla/Vista
where ExpresiónLógica
Group by CamposAgrupados
Having ExpresiónLógica
Order by ExpresiónOrden ASC | DESC

Para generar una tabla en base al resultado del select

Seleccione ListaDeCampos INTO NuevaTablaAGenerar
from Tabla/Vista
where ExpresiónLógica
Group by CamposAgrupados
Having ExpresiónLógica
Order by ExpresiónOrden ASC | DESC

Select usando varias tablas

Seleccione ListaDeCampos
from Tabla1
join Tabla2 on Tabla1.CampoJoin = Tabla2.CampoJoin
[join Tabla2 on Tabla1.CampoJoin = Tabla2.CampoJoin]
where ExpresiónLógica
Group by CamposAgrupados
Having ExpresiónLógica
Order by ExpresiónOrden ASC | DESC

Select para los superiores o inferiores en cantidad o porcentaje

Seleccione Top n [Percent] [with Ties] ListaDeCampos
from Tabla1
where ExpresiónLógica
Group by CamposAgrupados
Having ExpresiónLógica
Order by ExpresiónOrden ASC | DESC

Select para registros sin repetir

Seleccione Distinct ListaDeCampos
from Tabla1
where ExpresiónLógica
Group by CamposAgrupados
Having ExpresiónLógica
Order by ExpresiónOrden ASC | DESC

Orden de procesamiento lógico de la instrucción SELECT

Los parámetros de Select se ejecutan en el siguiente orden:
FROM
ON
JOIN
WHERE
GROUP BY
WITH CUBE o WITH ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
TOP

Explicación de cada parámetro

FromIndica la tabla principal de donde se obtendrá la información.
OnPermite especificar el campo en común por el que se relacionan dos tablas en un join
JoinPermite relacionar dos tabla en la instrucción select
WherePermite especificar una o mas condiciones que deben de cumplir los registros para mostrarse.
Group byPermite especificar los campos por los que se agrupará el conjunto del resultados de la instrucción select. Este parámetro se usa cuando se han incluido funciones de agregado.
With Cube o With Cube RollupPermite incluir subtotales por cada cambio en un select con funciones de agregado y agrupamientos
HavingPermite especificar una o mas condiciones que deben de cumplir los registros para mostrarse, estás condiciones deben evaluarse en los campos con funciones de agregado.
DistinctPermite el listado de los registros sin repetidos.
Order byPermite especificar el campo o campos por los que se ordenará el conjunto de resultados.
TopPermite especificar la cantidad de registros a mostrar, en filas o porcentaje del total.