3 - Consultas II (Cláusulas SELECT FROM WHERE)

Las cláusulas de una consulta y las preguntas de construcción


En la lección anterior hemos construido con éxito nuestra primera consulta:


select NOMBRE, APELLIDOS
  from EMPLEADOS
 where SALARIO > 1350
            

Las tres cláusulas y las Preguntas de Construcción

Fijémonos ahora en las tres cláusulas de la anterior consulta SQL y qué relación guardan con las preguntas de construcción:

  • Cláusula SELECT: Donde indicamos los campos de la tabla que queremos obtener, separados por comas. Responde a la pregunta: ¿Qué datos nos piden?
  • Cláusula FROM: Donde indicamos en qué tabla se encuentran estos campos. Responde a la pregunta: ¿Dónde están los datos?
  • 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 los registros? Es, de hecho, donde se establece el filtro de registros, es decir, qué registros serán considerados para mostrar sus datos y cuáles no.

Modificando la Cláusula Where

¿Qué empleados tienen un sueldo comprendido entre 1350 y 1450?

ID_EMPLEADONOMBREAPELLIDOSF_NACIMIENTOSEXOCARGOSALARIO
1CarlosJiménez Clarín1985-05-03HMozo1500.00
2ElenaRubio Cuestas1978-09-25MSecretaria1300.00
3JoséCalvo Sisman1990-11-12HMozo1400.00
4MargaritaRodriguez Garcés1992-05-16MSecretaria1325.50

Si nos hacemos las preguntas de construcción:

  1. ¿Qué datos nos piden?
  2. ¿Dónde están los datos?
  3. ¿Qué requisitos deben cumplir los registros?

Observamos que para las dos primeras preguntas las respuestas son idénticas a la anterior cuestión, pero para la tercera es distinta. Esto nos indica que las cláusulas SELECT y FROM no van a cambiar respecto a la anterior consulta, y solo lo hará la cláusula WHERE, así que podemos tomar la anterior consulta como patrón y modificarla para adaptarla a lo que se nos pide ahora.

Consulta patrón:


select NOMBRE, APELLIDOS
  from EMPLEADOS
 where SALARIO > 1350
            

Antes el salario debía ser mayor a 1350, ahora debe estar comprendido entre 1350 y 1450, ambos inclusive. La cláusula WHERE la construiremos de la siguiente manera:


where SALARIO >= 1300 and SALARIO <= 1450
            

Y se lee así: donde el salario sea mayor o igual a 1350 y menor o igual a 1450.

La consulta quedaría:


select NOMBRE, APELLIDOS
  from EMPLEADOS
 where SALARIO >= 1300 and SALARIO <= 1450
            

Si comparamos las dos consultas, se observa cómo únicamente difieren en la cláusula where.

El Operador BETWEEN

Trataremos a fondo los operadores mas adelante, así que a modo de apunte comentar que existe otro modo de obtener el mismo resultado aprovechando más los recursos del SQL mediante el operador BETWEEN (entre). La consulta es equivalente y quedaría de la siguiente manera:


select NOMBRE, APELLIDOS
  from EMPLEADOS
 where SALARIO between 1350 and 1450
            

Es decir: donde el salario esté entre 1350 y 1450 ambos inclusive.

Y el resultado que nos devuelve el SGBD es:

NOMBREAPELLIDOS
JoséCalvo Sisman

Comentarios en el código SQL

A medida que nuestras consultas ganan complejidad, puede resultar útil añadir notas explicativas que ayuden a comprender la lógica del código. Estas anotaciones son ignoradas por el motor del SGBD durante la ejecución. En SQL disponemos de dos métodos para comentar:

  • Comentarios de línea: Se utilizan dos guiones seguidos "--". El motor ignorará todo lo que se escriba desde los guiones hasta el final de esa línea.
  • Comentarios de bloque: Se delimitan entre los símbolos "/*" para abrir y "*/" para cerrar. Son ideales para explicaciones largas o encabezados que ocupan varias líneas.

Veamos cómo aplicaríamos ambos tipos de comentarios a nuestra consulta:


/* Consulta que filtra empleados 
   por un rango salarial específico */
select NOMBRE, APELLIDOS -- Campos a mostrar
  from EMPLEADOS         -- Origen de los datos
 where SALARIO between 1350 and 1450
            

El Motor SQL

Aunque en la lección anterior se dijo que el SQL nos permite desentendernos de cómo se reúnen los datos, en un futuro nos vendrá bien entender de forma lógica su manera de proceder. Veamos cómo ejecuta esta consulta el motor SQL del SGBD. Primero seleccionará los registros que cumplen la condición de la cláusula WHERE, para ello debe recorrer todos los registros de la tabla y decidir, en función de la condición, si lo toma en consideración o no. Al final reunirá los campos indicados en la cláusula SELECT de la tabla indicada en la cláusula FROM cuyos registros han sido seleccionados por la cláusula WHERE.


Resumen

Hemos dividido una consulta SQL concreta en tres cláusulas, se ha relacionado cada cláusula con las preguntas de construcción, hemos tomado como patrón una consulta para modificarla y adaptarla a los nuevos requisitos.


Ejercicio Propuesto

Intente hallar una consulta que devuelva el nombre y apellidos de los empleados que cobren menos de 1350 euros.

Ir a la Consola

Reseñas de la lección 3

  • Kakashi 09/03/2026