Dalila
La operación más común en SQL es la consulta, que se realiza con la instrucción declarativa SELECT. SELECT recupera datos de una o más tablas o expresiones. Las declaraciones SELECT estándar no tienen efectos persistentes en la base de datos. Algunas implementaciones no estándar de SELECT pueden tener efectos persistentes, como la sintaxis SELECT INTO que existe en algunas bases de datos. [10]
Las consultas permiten al usuario describir los datos deseados, dejando al sistema de administración de bases de datos (DBMS) responsable de planificar, optimizar y realizar las operaciones físicas necesarias para producir el resultado que elija.
Una consulta incluye una lista de columnas que se incluirán en el resultado final inmediatamente después de la palabra clave SELECT. También se puede utilizar un asterisco ("*") para especificar que la consulta debe devolver todas las columnas de las tablas consultadas. SELECT es la declaración más compleja en SQL, con palabras clave y cláusulas opcionales que incluyen:
La cláusula FROM que indica la (s) tabla (s) de las que se recuperarán los datos. La cláusula FROM puede incluir subcláusulas JOIN opcionales para especificar las reglas para unir tablas.
La cláusula WHERE incluye un predicado de comparación, que restringe las filas devueltas por la consulta. La cláusula WHERE elimina todas las filas del conjunto de resultados para las que el predicado de comparación no se evalúa como Verdadero.
La cláusula GROUP BY se utiliza para proyectar filas que tienen valores comunes en un conjunto más pequeño de filas. GROUP BY se usa a menudo junto con funciones de agregación SQL o para eliminar filas duplicadas de un conjunto de resultados. La cláusula WHERE se aplica antes que la cláusula GROUP BY.
La cláusula HAVING incluye un predicado que se utiliza para filtrar filas resultantes de la cláusula GROUP BY. Dado que actúa sobre los resultados de la cláusula GROUP BY, las funciones de agregación se pueden utilizar en el predicado de la cláusula HAVING.
La cláusula ORDER BY identifica qué columnas se utilizan para ordenar los datos resultantes y en qué dirección deben ordenarse (las opciones son ascendentes o descendentes). Sin una cláusula ORDER BY, el orden de las filas devueltas por una consulta SQL no está definido.
El siguiente es un ejemplo de una consulta SELECT que devuelve una lista de libros costosos. La consulta recupera todas las filas de la tabla Libro en las que la columna de precio contiene un valor superior a 100,00. El resultado se clasifica en orden ascendente por título. El asterisco (*) en la lista de selección indica que todas las columnas de la tabla Libro deben incluirse en el conjunto de resultados.