Una vez que nuestra base de datos tiene información en forma de registros, la función fundamental de SQL y del motor de SQL server es proporcionarlos de la forma más rápida, segura y eficiente posible.
Porque el trabajo subyacente de insertar la información con INSERT, como vimos en el anterior post, modificarlos con UPDATE o eliminarlos con DELETE (los cuales veremos al final del tutorial) es un trabajo de mantenimiento fundamental para obtener y conservar la mayor información posible; pero si de verdad queremos extraer conclusiones certeras y valiosas para un posible negocio, por ejemplo, la selección de registros con SELECT + filtros + agrupaciones + ordenaciones que veremos en los próximos posts pueden marcar el éxito o no de un proyecto
Este post forma parte del Tutorial básico de SQL Server cuyo índice completo puedes ver aquí: Tutorial básico de SQL Server
Otra vez el botón derecho
De nuevo comenzamos con el método mas inmediato. Con el botón derecho del ratón apuntando a nuestra tabla tenemos dos opciones:
- Una selección y ejecución rápida seleccionando los 1000 primeros registros
- Una plantilla de SELECT
Para la selección rápida de la tabla Clientes, Seleccionar las 1000 primeras filas:

Importante resaltar que está opción hace una ejecución automática y muestra los resultados:

La segunda opción es obtener una plantilla rápida que podemos tratar de forma análoga a como vimos la de INSERT (Nueva ventana del Editor de consultas, archivo, portapapeles, agente).

Ahora podemos hacer alguna modificación al script si lo necesitamos y ejecutar (F5)
Scripts de T-SQL
SELECT selecciona registros de una o varias tablas. La forma de generarlos puede acotarse en base a unos filtros con WHERE (que veremos en el próximo post). Pero podemos observar que el primer ejemplo anterior ya tenemos un filtro: estaba presente la palabra TOP + número, en este caso número 1000. Esto permite filtrar los 1000 primeros registros (según la ordenación interna).
Otra consideración es que podemos utilizar el carácter comodín asterisco (*) como forma de representación de todas las columnas.
En nuestro ejemplo de tabla teníamos hasta 35, por lo que ha presentado todos, pero podemos probar las dos cosas mencionadas de la siguiente forma:
USE Primera
GO
SELECT TOP 15 * FROM Clientes
Por otro lado, si queremos sólo determinados campos, la opción es intuitiva:
SELECT nombre, [Apellidos] FROM Primera..clientes
En este pequeño script, aprovechamos para probar que el SQL de Microsoft no distingue mayúsculas/mínusculas, que las llaves cuadradas de los campos son opcionales (si el campo tiene espacios hay usarlas), no hemos utilizado USE sino que hemos puesto el nombre de la base de datos "Primera" como prefijo y que el esquema dbo también se puede omitir, de ahí los dos puntos consecutivos.
De todos modos, por claridad de código es conveniente mantener una coherencia en las expresiones, elige la que te sea más cómoda de escribir.
Las salidas de las selecciones siempre muestras como nombres de columnas los campos por defecto, pero esto se puede cambiar mediante alias. Un alias es como una variable que se asigna a un resultado, a una expresión, a una subconsulta, etc. y en el caso simple que nos ocupa a un campo de la base de datos. Se hace mediante la palabra reservada AS.
La salida del ejemplo anterior fue algo como esto:

La primera columna fue nombre en minúscula y Apellidos con la primera en mayúscula tal y como especificamos, pero podemos probar:
SELECT Nombre AS [Nombre Legal],
Apellidos AS [Dos Apellidos]
FROM
Clientes
El resultado refleja los alias que hemos indicado. Como hay un espacio en blanco los alias a continuación de AS, se ponen entre llaves cuadradas o comillas. Y este es el resultado:

Estos son los conceptos básicos de SELECT, pero sería poco útil si no se combinase con la clausula de filtrado WHERE que veremos en el próximo post, donde se muestra parte de la potencia de la extracción de datos con SQL.