Alumno: Nahun Jaramillo
1. Encuentre el nombre de las ciudades sin repetir y en orden ascendente.
SELECT DISTINCT city
FROM employee
ORDER BY CITY ASC
2. Concatene el nombre y el apellido de los empleados del sexo femenino.
SELECT emp_fname + ' ' + emp_lname AS Nombre_Apellido_Femenino
FROM employee
where sex='f'
3. Indique el nombre y el apellido junto con el 8% de salario.
SELECT emp_fname, emp_lname, salary*0.08 AS salario_8X100
FROM employee
where sex='f'
4. Indique la dirección concatenada con la ciudad y el estado, a este campo llamarlo dirección
completa y ordenarlo por el estado.
SELECT city + ' ' + state AS DireccionCompleta
FROM employee
ORDER BY DireccionCompleta DESC
5. Cuantas ciudades hay en la tabla “employee” y que no estén considerando empleados que
tengan salarios entre $40000 y $50000.
SELECT COUNT (DISTINCT CITY) AS CiudadesConSalarioEntre40y50
FROM employee
where salary NOT BETWEEN '40000' AND '50000'
GROUP BY salary
SELECT COUNT (DISTINCT CITY) AS CiudadesConSalarioNO40y50
FROM employee
where salary<40000 OR salary>50000
GROUP BY salary
6. Indique cuantos empleados hay por ciudad y cuál es el salario promedio por ciudad.
SELECT city, (SELECT COUNT (emp_id) AS PersonasPorCiudad)
FROM employee
GROUP BY city
ORDER BY city
7. En una consulta especifique el valor máximo de salario, el valor mínimo de salario y la suma
total del salario por estado, siempre y cuando el promedio del estado sea mayor a $30.000.
SELECT DISTINCT state, MIN(salary) AS min_salary, MAX(salary) AS max_salary,
AVG(salary) AS prom_salary, SUM(salary) AS sum_salary
FROM "employee"
group by state
having AVG(salary)>30000
order by state
8. Utilizando la clausula IN en WHERE, indique cuales son los empleados que estan en el estado
ING, UT, NA.
SELECT emp_fname,emp_lname,state
FROM "employee"
where state IN('NY','UT','GA')
9. Cuantos empleados empiezan con la letra A y tengan 4 y 5 caracteres.
SELECT distinct emp_fname,COUNT(emp_id) AS num_empleado
FROM "employee"
where emp_fname LIKE 'A___' or emp_fname LIKE 'A____'
group by emp_fname
order by emp_fname
10. Revise la tabla employee, y cuál es la forma de escribir el WHERE para preguntar en la
columna “termination_date” por el valor de NULL.
SELECT *
FROM "employee"
where termination_date IS NULL
11. Cuáles son los empleados que su sueldo sea menor que el promedio del salario.
SELECT emp_fname, emp_lname,salary
FROM "employee"
where salary < (select AVG(salary)
from "employee")
12. Indique los nombres de los empleados que trabajan en el departamento “R & D”.
SELECT emp_fname, emp_lname
FROM "employee"
where dept_id = (select dept_id
from "department"
where dept_name='R & D')
13. Determinar todos los empleados que su salario sea superior a los que viven en la ciudad
“Milton”.
SELECT emp_fname, emp_lname, salary
FROM "employee"
where salary > some(select salary
from "employee"
where city = 'Milton')
14. Saber todos los empleados que su salario sea superior a todos los salarios de los empleados que
viven en “Milton”.
SELECT emp_fname, emp_lname, salary
FROM "employee"
where salary > ALL(select salary
from "employee"
where city = 'Milton')
15. Determine el nombre de los productos que han sido comprados por un cliente.
SELECT DISTINCT cus.fname, cus.lname, pro.name
FROM "customer" cus, "sales_order" sal, "product" pro
where cus.id = sal.cust_id
group by cus.fname, cus.lname, pro.name
order by cus.fname
16. Indique cual es el salario total por departamento
SELECT Distinct dep.dept_name, SUM(emp.salary) AS total
FROM "employee" emp, "department" dep
where emp.dept_id = dep.dept_id
group by dep.dept_name
17. Cuál es la expresión equivalente para el “SUM” y el “ALL”
18. Mostrar los nombres de todos los empleados si existe alguien que gane más de 80000 y que viva
en la ciudad de “Milton”.
SELECT emp_fname, emp_lname, salary
FROM "employee"
where exists (select emp_fname, emp_lname
from "employee"
where salary > 80000 and city = 'Milton')
19. Unir el nombre de los empleados y el nombre de los “customer”.
SELECT emp_fname, emp_lname
FROM "employee"
union (select fname,lname
from "customer")
20. Cuáles son las ciudades comunes entre estas 2 entidades.
SELECT city
FROM "employee"
intersect (select city
from "contact")
21. Cuáles son las ciudades que tienen los empleados y no los contactos.
SELECT city
FROM "employee"
except (select city
from "contact")
22. Crear la tabla “contact_copy” igual a la tabla “contact” pero vacia. y una vez creada hacer un
Insert con select.
INSERT INTO "dba"."contact_copy"
(SELECT * FROM "dba"."contact")
23. Inserte un nuevo registro que no esté en la tabla “contact”.
INSERT INTO "dba"."contact_copy"(id, last_name, first_name, title, street, city, state, zip, phone, fax)
VALUES ('100','Jaramillo','Nahun','sr','Primavera 2','Duran','Gu','00593','094747715','086412524');
24. Borre los registros de la tabla “contact_copy” utilizando “delete”.
DELETE FROM "dba"."contact_copy"
25. Borre aquellos contactos que son de la ciudades que comienzan con “n”, “l” y “k”.
DELETE FROM "dba"."contact_copy"
WHERE (city LIKE 'M%' OR city LIKE 'L%' OR city LIKE 'K%')
26. Crear una tabla “employeed_copy”.
INSERT INTO "dba"."employee_copy"
(SELECT * FROM "dba"."employee")
27. Borrar solo aquellos empleados que su salario sea menor que al del promedio.
DELETE FROM "dba"."employee_copy"
WHERE salary < (SELECT AVG(salary)
FROM employee_copy)
28. Actualice los salarios en un 20% de la tabla “employee copy”.
UPDATE "dba"."employee_copy"
SET salary = salary + salary*0.2
29. Actualice los salarios del género femenino un 10 % y restar 1000 a los salarios que sea
superiores al promedio
UPDATE "dba"."employee_copy"
SET salary = salary*1.1
WHERE sex = 'F'
UPDATE "dba"."employee_copy"
SET salary = salary - 1000
WHERE salary > (SELECT AVG(salary)
FROM employee_copy)
30. Presentar nombre y apellido del empleado y el nombre y apellido del jefe
SELECT emple1.emp_fname, emple1.emp_lname, mana.emp_fname, mana.emp_lname
FROM employee emple1, employee mana
WHERE emple1.manager_id = mana.emp_id
Top Related