Ejercicios BAE
Enviado por Juan Carlos Barrera Infante • 12 de Febrero de 2023 • Trabajo • 1.335 Palabras (6 Páginas) • 53 Visitas
[pic 1]
PREGUNTAS | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 25 | NOTA |
PUNTUACIÓN |
Tarea 4
Consultas básicas[pic 2]
1.- Mostrar los datos de los empleados
SELECT *
FROM employees;
2.- Idem con los departamentos
SELECT *
FROM departments;
3.- Mostrar nombre y fecha de todos empleados nacidos antes del ‘01/02/52’ .
SELECT first_name,last_name,birth_date
FROM employees
WHERE birth_date <'01/02/52';
4.- Muestra la fecha y el usuario actual (tabla dual).
SELECT sysdate,user
FROM dual;
5.- Muestra el nombre completo de los empleados en una sola columna (operador || )
SELECT first_name ||' '|| last_name
FROM employees;
6.- Nombre y genero de los empleados que se apellidan Welham ordenado por nombre.
SELECT first_name, last_name,gender
FROM employees
WHERE last_name='Welham'
ORDER BY first_name;
7.- Muestra el máximo salario
SELECT MAX (salary)
FROM salaries;
8. Muestra los puestos de trabajo ocupados por los empleados entre los años 90 y 91 ordeando por fecha de incorporación.
SELECT emp_no,title,from_date,to_date
FROM titles
WHERE from_date>='01/01/90' AND to_date <='01/01/91'
ORDER BY from_date;
9. Muestra los departamentos que tengan como código d001, d004, d005, d009, d0012 . (op. IN)
SELECT dept_no,dept_name
FROM departments
WHERE dept_no IN ('d001','d004','d005','d009','d012');
Consultas multitabla[pic 3]
10.- Muestra nombre, apellidos, salario y fecha de inicio de cobro de los empleados.
SELECT employees.first_name,employees.last_name,salaries.salary,salaries.from_date
FROM employees JOIN salaries ON employees.emp_no = salaries.emp_no;
11.- Idem mostrando para los empleados que cobran más de 140000 y son mujeres.
SELECT employees.first_name, employees.last_name, employees.gender, salaries.salary, salaries.from_date
FROM employees join salaries ON employees.emp_no = salaries.emp_no
WHERE salaries.salary > 140000 AND employees.gender ='F';
12.- Muestra el número de salarios que ha tenido el empleado de nombre Danel y apellido Rindone anteponiendo en el resultado la cadena ‘Num. Salarios->’
SELECT e.first_name, e.last_name, 'Num. Salarios->' ||' '|| count(s.salary)salarios
FROM employees e
JOIN salaries s ON e.emp_no=s.emp_no
WHERE first_name = 'Danel' AND last_name ='Rindone'
GROUP BY e.first_name, e.last_name;
13.- Mostrar los nombres, categoría y fecha de inicio del puesto de trabajo que ha tenido han tenido los empleados nacidos después del 1965 ordenado por nombre y apellido.
SELECT e.first_name , e.last_name , e.birth_date, t.title, t.from_date
FROM employees e
JOIN titles t ON e.emp_no=t.emp_no
WHERE birth_date >= '01/01/1965'
ORDER BY first_name, last_name;
14.- Obtener los nombres y y departamentos de los empleados incorporados entre el año 1980 y 1981
SELECT e.first_name, e.last_name , departments.dept_name, dept_emp.from_date
FROM employees e
JOIN dept_emp ON e.emp_no=dept_emp.emp_no
JOIN departments ON dept_emp.dept_no=departments.dept_no
WHERE dept_emp.from_date >='01/01/1980' AND dept_emp.from_date <='31/12/1981'
ORDER BY dept_emp.from_date;
ESTA CONSULTA NO ARROJA NINGÚN RESULTADO
15.- Obtener el nombre, apellido y departamento de los empleados del departamento ventas (sales).
SELECT e.first_name, e.last_name, departments.dept_name
FROM employees e
JOIN dept_emp ON e.emp_no=dept_emp.emp_no
JOIN departments ON dept_emp.dept_no=departments.dept_no
WHERE departments.dept_name='Sales';
16.- Obtener el nombre, apellido y departamento de los técnicos (staff) del departamento de finanzas (finance).
SELECT e.first_name, e.last_name, titles.title, departments.dept_name
...