Databases

T01-006-06 Operador de rangos

Enunciado

En ocasiones, en lugar de enumerar un conjunto de valores para el cumplimiento de una condición, se nos ofrece un rango de valores. En este caso, no es posible utilizar el operador IN, ya que la lista de posibles valores podría llegar a ser infinito en el caso, por ejemplo de un rango de números reales.

En esas ocasiones utilizaremos el operador de rangos BETWEEN.

Ejemplo:

La siguiente consulta muestra los datos de los empleados que tienen un salario entre 9000 y 10000, ambos incluidos:

SELECT FIRST_NAME, LAST_NAME, SALARY
FROM HR.employees
WHERE SALARY BETWEEN 9000 AND 10000
ORDER BY SALARY DESC, LAST_NAME

FIRST_NAME LAST_NAME SALARY
Hermann Baer 10000
Harrison Bloom 10000
Janette King 10000
Peter Tucker 10000
Tayler Fox 9600
David Bernstein 9500
Danielle Greene 9500
Patrick Sully 9500
Daniel Faviet 9000
Peter Hall 9000
Alexander Hunold 9000
Allan McEwen 9000

Ejercicio:

Muestra el nombre, los apellidos y la fecha de contratación (HIRE_DATE) de los empleados que fueron contratados entre el 1 de enero y el 31 de diciembre de 2003.

Para este ejercicio debes manejar fechas, que es un tipo especial de datos que todavía no hemos utilizado, pero cuyo uso es muy habitual.

En función de la configuración del servidor, el formato de la fecha puede cambiar. El formato actual del servidor especifica la fecha utilizando el formato 'dd/mm/yy', por lo que el 1 de enero de 2003 sería '01/01/03' mientras que en otros sistemas, como el de livesql.oracle.com está configurado con el formato 'dd-mmm-yy' por lo que el 1 de enero de 2003 sería el '01-JAN-03'.

Cuando vayas a probar tu sentencia aquí, acuérdate de utilizar el formato 'dd/mm/yy'.

Ordena el resultado por la fecha de contratación, en primer lugar y, en segundo lugar, por apellidos,.

Tipo

SELECT

Solución


												
SELECT FIRST_NAME, LAST_NAME, HIRE_DATE FROM HR.employees WHERE HIRE_DATE BETWEEN '01-01-03' AND '01-12-03' ORDER BY HIRE_DATE, LAST_NAME

Prueba


											

Librerías (Onfly databases)