Databases
T01-006-05 Operador de conjuntos
Enunciado
En un ejemplo anterior hemos visto una forma de poder mostrar las direcciones que estaban en China ('CN') o en Japón ('JP').
SELECT STREET_ADDRESS, CITY
FROM HR.locations
WHERE COUNTRY_ID = 'CN' OR COUNTRY_ID = 'JP'Utilizar
ORpara componer una expresión lógica en la que un mismo atributo puede tener una serie de valores es válido si la lista de valores es muy pequeña, como en el caso anterior, en la que únicamente tenemos 2 opciones.Pero, que ocurriría si la lista de posibles valores se incrementara, por ejemplo a todos los de Europa. Esa lista debería incluir, al menos: 'IT', 'UK', 'DE', 'CH', 'NL'. La sentencia sería entonces mucho más larga:
SELECT STREET_ADDRESS, CITY, COUNTRY_ID
FROM HR.locations
WHERE COUNTRY_ID = 'IT' OR COUNTRY_ID = 'UK' OR COUNTRY_ID = 'DE' OR COUNTRY_ID = 'CH' OR COUNTRY_ID = 'NL'En cambio, con el uso del operador de conjuntos
INse reduce mucho y se clarifica la sentencia anterior:
SELECT STREET_ADDRESS, CITY, COUNTRY_ID
FROM HR.locations
WHERE COUNTRY_ID IN ('IT', 'UK', 'DE', 'CH', 'NL')Ejercicio:
Muestra los empleados del esquema HR cuyo trabajo es alguno de los de la siguiente lista 'SA_MAN', 'SA_REP', 'MK_MAN', 'MK_REP'.
Ordena los resultados alfabéticamente por el apellido.
Recuerda: El resultado debe ser exactamente igual al que se muestra en el OUTPUT.
Tipo
Solución
SELECT FIRST_NAME, LAST_NAME, JOB_ID
FROM HR.employees
WHERE JOB_ID IN ('SA_MAN', 'SA_REP', 'MK_MAN', 'MK_REP')
ORDER BY LAST_NAME ASC
Prueba
LibrerÃas (Onfly databases)

