7.1. Visión general #

El proceso de recuperar o el comando para recuperar datos de una base de datos se llama una consulta (query). En SQL, el comando SELECT se utiliza para especificar consultas. La sintaxis general del comando SELECT es

[WITH with_queries] SELECT select_list FROM table_expression [sort_specification]

Las siguientes secciones describen los detalles de la lista de selección, la expresión de tabla y la especificación de ordenamiento. Las consultas WITH se tratan al final, ya que son una característica avanzada.

Una consulta sencilla tiene la forma:

SELECT * FROM table1;

Suponiendo que existe una tabla llamada table1, este comando recuperaría todas las filas y todas las columnas definidas por el usuario de table1. (El método de recuperación depende de la aplicación cliente. Por ejemplo, el programa psql mostrará una tabla con caracteres ASCII en la pantalla, mientras que las bibliotecas cliente ofrecerán funciones para extraer valores individuales del resultado de la consulta). La especificación de la lista de selección * significa todas las columnas que la expresión de tabla proporcione. Una lista de selección también puede seleccionar un subconjunto de las columnas disponibles o realizar cálculos utilizando las columnas. Por ejemplo, si table1 tiene columnas llamadas a, b y c (y tal vez otras) puedes realizar la siguiente consulta:

SELECT a, b + c FROM table1;

(suponiendo que b y c son de un tipo de datos numérico). Consulta Section 7.3 para obtener más detalles.

FROM table1 es una expresión de tabla sencilla: lee solo una tabla. En general, las expresiones de tabla pueden ser construcciones complejas de tablas base, uniones y subconsultas. Pero también puedes omitir la expresión de tabla por completo y usar el comando SELECT como una calculadora:

SELECT 3 * 4;

Esto es más útil si las expresiones en la lista de selección devuelven resultados variables. Por ejemplo, podrías llamar a una función de esta manera:

SELECT random();