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
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)

