En la lección anterior hemos construido con éxito nuestra primera consulta:
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_EMPLEADO | NOMBRE | APELLIDOS | F_NACIMIENTO | SEXO | CARGO | SALARIO |
|---|---|---|---|---|---|---|
| 1 | Carlos | Jiménez Clarín | 1985-05-03 | H | Mozo | 1500.00 |
| 2 | Elena | Rubio Cuestas | 1978-09-25 | M | Secretaria | 1300.00 |
| 3 | José | Calvo Sisman | 1990-11-12 | H | Mozo | 1400.00 |
| 4 | Margarita | Rodriguez Garcés | 1992-05-16 | M | Secretaria | 1325.50 |
Si nos hacemos las preguntas de construcción:
- ¿Qué datos nos piden?
- ¿Dónde están los datos?
- ¿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:
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:
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:
Es decir: donde el salario esté entre 1350 y 1450 ambos inclusive.
Y el resultado que nos devuelve el SGBD es:
| NOMBRE | APELLIDOS |
|---|---|
| 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.
Reseñas de la lección 3
-
09/03/2026