5.4 Formulación de Consultas con SQL

 
Las tres cláusulas y las preguntas de construcción en una consulta
cláusulas de  consulta en SQL y que relación guardan con las preguntas de construcción:

  1. Cláusula SELECT: Donde indicamos los campos de la tabla que queremos obtener, separados por comas. Responde a la pregunta: ¿Qué datos nos piden?
  2. Cláusula FROM: Donde indicamos en que tabla se encuentran estos campos. Responde a la pregunta: ¿Dónde están los datos?
  3. Cláusula WHERE: Donde establecemos la condición que han de cumplir los registros de la tabla que serán seleccionados. Responde a la pregunta: ¿Qué requisitos deben cumplir lo registros? Es de hecho donde se establece el filtro de registros, es decir, que registros serán considerados para mostrar sus datos y cuales no.

¿Cómo se ejecuta internamente una consulta de resumen?

- Primero se forma la tabla origen de datos según la cláusula FROM,
- se seleccionan del origen de datos las filas según la cláusula WHERE,
- se forman los grupos de filas según la cláusula GROUP BY,
- por cada grupo se obtiene una fila en la tabla resultante con los valores que aparecen en las cláusulas GROUP BY, HAVING y en la lista de selección,
- se seleccionan de la tabla resultante las filas según la cláusula HAVING,
- se eliminan de la tabla resultante las columnas que no aparecen en la lista de selección,
- se ordenan las filas de la tabla resultante según la cláusula ORDER BY

 Una consulta se convierte en consulta de resumen en cuanto aparece GROUP BY, HAVING o una función de columna.

 En una consulta de resumen, la lista de selección y la cláusula HAVING sólo pueden contener:
valores constantes
funciones de columna
columnas de agrupación (columnas que aparecen en la cláusula GROUP BY)
o cualquier expresión basada en las anteriores.