
Consultas SQL en Oracle ejercicios resueltos
1. Mostrar los nombres y apellidos de todos los empleados con su respectivo nombre de cargo que desempeñan.
SELECT FIRST_NAME,LAST_NAME,JOB_TITLE
FROM HR.EMPLOYEES JOIN HR.JOBS ON (HR.JOBS.JOB_ID=HR.EMPLOYEES.JOB_ID)
SELECT FIRST_NAME,LAST_NAME,JOB_TITLE
FROM HR.EMPLOYEES E, HR.JOBS J
WHERE E.JOB_ID=J.JOB_ID
consulta sql dos tablas relacionadas
2. Mostrar los nombres y apellidos de todos los empleados con su respectivo nombre del departamento al cual pertenecen.
SELECT FIRST_NAME, LAST_NAME,DEPARTMENT_NAME
FROM HR.EMPLOYEES E JOIN HR.DEPARTMENTS D ON
(D.DEPARTMENT_ID=E.DEPARTMENT_ID)
SELECT FIRST_NAME, LAST_NAME,DEPARTMENT_NAME
FROM HR.EMPLOYEES E, HR.DEPARTMENTS D
WHERE E.DEPARTMENT_ID=D.DEPARTMENT_ID
unir dos consultas con diferentes campos sql
3. Mostrar los nombres de todas las regiones con sus respectivos nombres de países ordenados por nombre de región.
SELECT REGION_NAME ,COUNTRY_NAME
FROM HR.REGIONS R JOIN HR.COUNTRIES C ON (R.REGION_ID=C.REGION_ID)
ORDER BY REGION_NAME
4. Mostrar los nombres de todas las regiones con sus respectivos nombres de países ordenados por nombre de región y por nombre de país.
SELECT REGION_NAME ,COUNTRY_NAME
FROM HR.REGIONS R JOIN HR.COUNTRIES C ON (R.REGION_ID=C.REGION_ID)
ORDER BY REGION_NAME,COUNTRY_NAME
combinar dos tablas oracle
5. Realice una consulta que muestres el código de la región, nombre de la región y el nombre de los países que se encuentran en Asia.
SELECT R.REGION_ID, REGION_NAME ,COUNTRY_NAME
FROM HR.REGIONS R JOIN HR.COUNTRIES C ON (R.REGION_ID=C.REGION_ID)
WHERE REGION_NAME='Asia'
6. Mostrar los nombres y apellidos de todos los empleados con su respectivo nombre del departamento al cual pertenecen de aquellos cuya fecha de contrato este entre '10/06/2005' and '16/07/2006'
SELECT FIRST_NAME, LAST_NAME,DEPARTMENT_NAME
FROM HR.EMPLOYEES E JOIN HR.DEPARTMENTS D ON
(D.DEPARTMENT_ID=E.DEPARTMENT_ID)
WHERE HIRE_DATE BETWEEN '10/06/2005' and '16/07/2006'
consultar y unir 3 tablas sql
7. Mostrar los nombres de las regiones, con los nombres de países que tiene así como el nombre de las ciudades y la dirección de las calles, ordenados en forma ascendente por el nombre de región y en forma descendente por el nombre del país
SELECT REGION_NAME ,COUNTRY_NAME,CITY,STREET_ADDRESS
FROM HR.REGIONS R,HR.COUNTRIES C,HR.LOCATIONS L
WHERE R.REGION_ID = C.REGION_ID AND L.COUNTRY_ID = C.COUNTRY_ID
ORDER BY 1,2 DESC
8. Elabore una consulta que liste nombre del trabajo y el salario de los empleados que son manager, cuyo código es 100 o 125 y cuyo salario sea mayor de 6000.
SELECT JOB_TITLE, SALARY
FROM HR.JOBS J, HR.EMPLOYEES E
WHERE E.JOB_ID=J.JOB_ID AND JOB_TITLE like '%Manager%' and Manager_id in
(100,125) and salary >6000
9. Desarrolle una consulta que liste el código de la localidad, la ciudad y el nombre del departamento de únicamente de los que se encuentran fuera de estados unidos (US).
SELECT L.LOCATION_ID, CITY, DEPARTMENT_NAME
FROM HR.LOCATIONS L, HR.DEPARTMENTS D,HR.COUNTRIES C
WHERE L.LOCATION_ID = D.LOCATION_ID AND C.COUNTRY_ID = L.COUNTRY_ID AND
COUNTRY_NAME <>'United States of America';
10. Realice una consulta que muestre el nombre y apellido de los empleados que trabajan para departamentos que están localizados en países cuyo nombre comienza con la letra C, que muestre el nombre del país.
SELECT FIRST_NAME, LAST_NAME, COUNTRY_NAME
FROM HR.EMPLOYEES E, HR.DEPARTMENTS D, HR.LOCATIONS L, HR.COUNTRIES C
WHERE D.DEPARTMENT_ID=E.DEPARTMENT_ID AND D.LOCATION_ID=L.LOCATION_ID AND
L.COUNTRY_ID=C.COUNTRY_ID
AND COUNTRY_NAME LIKE 'C%'
consultas oracle avanzadas
11. Mostrar la cantidad de empleados
select count (*) from hr.employees;'
12. Mostrar la cantidad de paises que no se repitan
select count (DISTINCT country_name) from hr.countries;
13. Mostrar el mayor y el menor salario de los empleados
Select max (salary) as Salario_maximo, min (salary) as Salario_Minimo from
hr.employees;
Select dentro de otro select oracle
14. Mostrar el nombre y apellido del empleado que tenga el sueldo maximo
select FIRST_NAME, LAST_NAME, SALARY
from hr.employees
where salary = (select max (salary) as Salario_maximo from hr.employees)
Subconsultas Oracle SQL
16. Cuantos empleados tienen un salario mayor al salario promedio
select count (*) as cantidad from ( select last_name
from hr.employees where salary >( select avg (salary)
from hr.employees))
Se requiere saber cuáles son los cargos vacantes del departamento, realice una consulta mediante la cual muestre el nombre del departamento y el nombre completo del empleado asignado como manager, en el caso de que el departamento no tenga un manager_id asignado entonces debe mostrar la información como ‘VACANTE’
ResponderBorrarselect nombre ||''|| apellido as nombre completo, dp_nombre as nombre de departamento, cargo as vacante from departamento
ResponderBorrarhola necito ayuda porfavor
ResponderBorrarNecesito saber cómo realizar el siguiente ejercicio:
ResponderBorrarSe requiere saber cuáles son los departamentos que tienen algún trabajador
asignado en la gerencia y cuales aún tienen el cargo vacante, por lo mismo, se
solicita que realice una consulta mediante la cual muestre el nombre del
departamento y el nombre completo del empleado asignado como JEFE
(manager), en el caso de que el departamento no tenga un manager_id asignado
entonces debe mostrar la información como ‘VACANTE’, despliegue los datos en
el siguiente formato. Actualmente no me permite concatener el nombre estoy utilizando un NLV