Sistemas De Bases De Datos-Tarea Querys De Sql

5

Click here to load reader

description

Tarea Querys

Transcript of Sistemas De Bases De Datos-Tarea Querys De Sql

Page 1: Sistemas De Bases De Datos-Tarea Querys De Sql

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

Page 2: Sistemas De Bases De Datos-Tarea Querys De Sql

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')

Page 3: Sistemas De Bases De Datos-Tarea Querys De Sql

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')

Page 4: Sistemas De Bases De Datos-Tarea Querys De Sql

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")

Page 5: Sistemas De Bases De Datos-Tarea Querys De Sql

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