Programación de Bases de Datos con SQL 3-1: Comparaciones Lógicas y
Reglas de Precedencia
Actividades de Práctica
Objetivos
• Evaluar las comparaciones lógicas para restringir las filas devueltas en función de dos o más
condiciones
• Aplicar las reglas de prioridad para determinar el orden en el que se evalúan y calculan las
expresiones
Terminología
Identifique el término para cada una de las siguientes definiciones.
not Invierte el valor de la condición
and Ambas condiciones deben ser verdaderas para que se pueda
seleccionar un registro.
Reglas de prioridad Reglas que determinan el orden en el que se evalúan y calculan
las expresiones
or Cualquier condición puede ser verdadera para que se pueda
seleccionar un registro
Inténtelo/Resuélvalo
1. Ejecute las dos consultas siguientes. ¿Por qué producen dos resultados diferentes estas
sentencias casi idénticas? Indique cuál es la diferencia y explique la causa.
SELECT code, description
FROM d_themes
WHERE code >200 AND description IN('Tropical', 'Football', 'Carnival');
SELECT code, description
FROM d_themes
WHERE code >200 OR description IN('Tropical', 'Football', 'Carnival');
2. Muestre los apellidos de todos los empleados de Global Fast Foods que tienen una “e” y una “i”
en sus apellidos.
3. Necesito saber quiénes son los empleados de Global Fast Foods que ganan más de 6,50 $/hora
cuyo cargo no sea tomador de pedidos.
4. Utilizando la tabla employees, escriba una consulta para mostrar todos los empleados cuyos
apellidos empiezan por “D” y tienen una “a” y una “e” en cualquier lugar en su apellido.
5. ¿En qué lugares ha celebrado eventos DJs on Demand que no eran casas particulares?
6. ¿Qué lista de operadores tiene el orden correcto de mayor a menor prioridad?
a. AND, NOT, OR
b. NOT, OR, AND
c. NOT, AND, OR
Para las preguntas 7 y 8, escriba las sentencias SQL que producirán la salida deseada.
7. ¿Quién soy?
Fui contratado por Oracle después de mayo de 1998, pero antes de junio de 1999. Mi
salario es inferior a 8000 $ al mes y tengo una “en” en mi apellido.
8. ¿Cuál es mi dirección de correo electrónico?
Debido a que he estado trabajando para Oracle desde el inicio de 1996, gano más de 9000 $ al
mes. Como gano un sueldo tan alto, no recibo comisión.