1.- Mostrar todas las ciudades sin repetirse de la tabla employee, y
Muéstrelas en orden ascendente.

SELECT DISTINCT city...
FROM "employee"
group by state
having AVG(salary)>30000
order by state

8.- Usando la cláusula IN en el WHERE, indique cua...
13.- Determinar todos los empleados que su salario sea superior a los que viven en
la ciudad “Milton”

SELECT emp_fname, e...
19.- Unir el nombre de los empleados y el nombre de los customer

SELECT emp_fname, emp_lname
FROM "employee"
union (selec...
26.- Crear una tabla llamada “Employee_Copy” y llenarla con los datos de la tabla
Employee

INSERT INTO employee_copy
(SEL...
CREATE TABLE "TB_CATEGORIA"
 ( "id_categoria" char(30) NOT NULL ,
   "nombre" char(30),
   "descripcion" char(30),
    PRI...
CREATE TABLE "TB_DETALLE_PEDIDO"
 ( "id_detalle_pedido" char(30) NOT NULL ,
   "cantidad" char(30) NOT NULL,
   "precio_un...
CREATE TABLE "TB_ITEM"
 ( "id_item" char(30) NOT NULL ,
   "nombre" char(30) NOT NULL,
   "descripcion" char(30) NOT NULL,...
ALTER TABLE TB_ITEM ADD FOREIGN KEY (ID_CATEGORIA) REFERENCES
TB_CATEGORIA(ID_CATEGORIA)

ALTER TABLE TB_FACTURA ADD FOREI...
CREATE TABLE "T_B"
 ( "b1" char(30) NOT NULL ,
   "b2" char(30) NOT NULL,
   "b3" char(30) NOT NULL,
    PRIMARY KEY ("b1"...
"a2" char(30) NOT NULL,
     "a3" char(30) NOT NULL,
      PRIMARY KEY ("a1")
 )

INSERT INTO T_A3 (a1,a2,a3)VALUES('100',...
Upcoming SlideShare
Loading in …5
×

Tarea Querys Sql de Wilmer Alcivar

2,209 views

Published on

Tarea de SQL de Wilmer Alcivar

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,209
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
129
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tarea Querys Sql de Wilmer Alcivar

  1. 1. 1.- Mostrar todas las ciudades sin repetirse de la tabla employee, y Muéstrelas en orden ascendente. SELECT DISTINCT city from "employee" ORDER BY city 2.- Mostrar el primer y segundo nombre concatenados de todos los Empleados de sexo femenino de la tabla employee SELECT emp_fname + ' ' + emp_lname AS empleado FROM "employee" where sex = 'F' 3.- Mostrar el primer y segundo nombre junto con el 8% del salario de Todos los empleados de la tabla employee SELECT emp_fname,emp_lname,salary*0.08 FROM "employee" 4.- Mostrar la dirección, la ciudad y el estado (provincia) de cada Empleado, concatene estos 3 campos y llame a este nuevo campo Dirección completa, y muéstrelos por estado. SELECT street + ' ' + city + ' ' + state AS Direccion_Completa FROM "employee" order by state 5.- Contar cuantas ciudades hay en la tabla employee y que no estén Considerando empleados que tengan salarios entre 40000 y 50000 SELECT DISTINCT salary, COUNT(city) AS myCity FROM "employee" where salary NOT BETWEEN '40000' AND '50000' GROUP BY salary 6.- Indique cuantos empleados hay por ciudad y cual es el salario promedio de cada ciudad agrupado por ciudad SELECT DISTINCT city, AVG(salary) AS prom_sala_city, COUNT(emp_id) AS num_Empleado FROM "employee" group by city order by city 7.- Especifique el valor mínimo, máximo, promedio y la suma total del salario por estado siempre y cuando el promedio del estado sea mayor a 30000 SELECT DISTINCT state, MIN(salary) AS min_salary, MAX(salary) AS max_salary, AVG(salary) AS prom_salary, SUM(salary) AS sum_salary
  2. 2. FROM "employee" group by state having AVG(salary)>30000 order by state 8.- Usando la cláusula IN en el WHERE, indique cuales son los empleados que están en el estado de NY, UT y GA SELECT emp_fname,emp_lname,state FROM "employee" where state IN('NY','UT','GA') 9.- Cuantos empleados comienzan el nombre con la letra A y tengan 4 o 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 e indique cual es la forma de escribir el WHERE para saber en la columna “termination_date” por NULL SELECT * FROM "employee" where termination_date IS NULL 11.- Cuales 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')
  3. 3. 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- Cual es la expresión equivalente para el “SUM” y el “ALL” SELECT 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')
  4. 4. 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.- Cuales son las ciudades comunes entre estas 2 entidades SELECT city FROM "employee" intersect (select city from "contact") 21.- Cuales son las ciudades que tienen los empleados y no los contactos SELECT city FROM "employee" except (select city from "contact") 22.- Crear una tabla llamada “Contact_Copy” y llenarla con los datos de la tabla Contact INSERT INTO contact_Copy (SELECT * FROM contact) 23.- Inserte un nuevo registro que no este en la tabla Contact INSERT INTO contact_Copy (id,last_name,first_name,title,street,state,city,zip,phone,fax) VALUES(100,'alcivar','wilmer','pd','qweasdq','guayaquil','gu','1234','5675675','1231231' ) 24.- Borre los registros de la tabla Contact_Copy delete from contact_Copy 25.- Haga el Quero 22 otra vez y borre los contactos de las ciudades que comienzan con N, L y K delete from contact_Copy where city like 'N%' or city like 'L%' or city like 'K%'
  5. 5. 26.- Crear una tabla llamada “Employee_Copy” y llenarla con los datos de la tabla Employee INSERT INTO employee_copy (SELECT * FROM employee) 27.- Borre en la tabla Employee_Copy aquellos que su salario sea < a la mitad del promedio delete from employee_copy where salary < (select avg(salary) from employee_copy) 28.- Actualice los salarios en un 20% de la tabla Employee_Copy update employee_copy set salary = salary + salary*0.20 29.- Actualice los salarios en un 10% solo a los de genero femenino y reste 1000 a los salarios que sea > al promedio update employee_copy set salary = salary + salary*0.10 where sex = 'F' update employee_copy set salary = salary-10000 where salary > (select avg(salary) from employee_copy) 30.- Presentar el nombre del empleado y su jefe (select recursivo) select emp.emp_fname, man.emp_fname from "employee" emp, "employee" man where emp.manager_id = man.emp_id 31.- Querys DDL del negocio GUITAR’S HOUSE CREATE TABLE TB_BODEGA ( id_bodega char(30) not null , nombre char(30) not null , capacidad char(30) , descripcion char(30), PRIMARY KEY (id_bodega) )
  6. 6. CREATE TABLE "TB_CATEGORIA" ( "id_categoria" char(30) NOT NULL , "nombre" char(30), "descripcion" char(30), PRIMARY KEY ("id_categoria") ) CREATE TABLE "TB_CLIENTE" ( "cedula" char(30) NOT NULL, "nombre" char(30) NOT NULL, "apellidos" char(30) NOT NULL, "telefono1" char(30), "telefono2" char(30), "direccion" char(30), "email" char(30), PRIMARY KEY ("cedula") ) CREATE TABLE "TB_DETALLE_ABASTECIMIENTO" ( "id_det_abas" char(30) NOT NULL, "descripcion" char(30) , "cantidad" char(30), "id_item" char(30), "id_abastecimiento" char(30), PRIMARY KEY ("id_det_abas"), ) CREATE TABLE "TB_DETALLE_ENTREGA" ( "id_detalle_entrega" char(30) NOT NULL, "cantidad" char(30) NOT NULL, "precio_unitario" char(30) NOT NULL, "total" char(30) NOT NULL, "id_entrega" char(30) NOT NULL, "id_item" char(30) NOT NULL, PRIMARY KEY ("id_detalle_entrega"), ) CREATE TABLE "TB_DETALLE_FACTURA" ( "id_detalle_factura" char(30) NOT NULL, "cantidad" char(30) NOT NULL, "precio_unitario" char(30) NOT NULL, "total" char(30) NOT NULL, "id_item" char(30) NOT NULL, "id_factura" char(30) NOT NULL, PRIMARY KEY ("id_detalle_factura") )
  7. 7. CREATE TABLE "TB_DETALLE_PEDIDO" ( "id_detalle_pedido" char(30) NOT NULL , "cantidad" char(30) NOT NULL, "precio_unitario" char(30) NOT NULL, "total" char(30) NOT NULL, "id_item" char(30) NOT NULL, "id_pedido" char(30) NOT NULL, PRIMARY KEY ("id_detalle_pedido") ) CREATE TABLE "TB_EMPLEADO" ( "cedula" char(30) NOT NULL, "nombre" char(30) NOT NULL, "apellidos" char(30) NOT NULL, "telefono1" char(30), "telefono2" char(30), "direccion" char(30), "email" char(30), "cargo" char(30), "id_jefe" char(30) NOT NULL, "usuario" char(30) NOT NULL, PRIMARY KEY ("cedula") ) CREATE TABLE "TB_ENTREGA" ( "id_entrega" char(30) NOT NULL , "fecha_entrega" char(30) NOT NULL, "hora_entrega" char(30) NOT NULL, "cantidad" char(30) NOT NULL, "id_cliente" char(30) NOT NULL, "id_empleado" char(30) NOT NULL, PRIMARY KEY ("id_entrega") ) CREATE TABLE "TB_FACTURA" ( "id_factura" char(30) NOT NULL , "tipo_pago" char(30) NOT NULL, "hora_pago" char(30) NOT NULL, "fecha_pago" char(30) NOT NULL, "sub_total" char(30) NOT NULL, "iva" char(30) NOT NULL, "total_a_pagar" char(30) NOT NULL, "id_cliente" char(30) NOT NULL, "id_empleado" char(30) NOT NULL, PRIMARY KEY ("id_factura") )
  8. 8. CREATE TABLE "TB_ITEM" ( "id_item" char(30) NOT NULL , "nombre" char(30) NOT NULL, "descripcion" char(30) NOT NULL, "stock" char(30) NOT NULL, "precio_cliente" char(30) NOT NULL, "precio_proveedor" char(30) NOT NULL, "id_categoria" char(30) NOT NULL, "id_bodega" char(30) NOT NULL, PRIMARY KEY ("id_item") ) CREATE TABLE "TB_PEDIDO" ( "id_pedido" char(30) NOT NULL , "fecha_pedido" char(30) NOT NULL, "hora_pedido" char(30) NOT NULL, "id_cliente" char(30) NOT NULL, "id_empleado" char(30) NOT NULL, PRIMARY KEY ("id_pedido") ) CREATE TABLE "TB_PROVEEDOR" ( "ruc" char(30) NOT NULL, "nombre" char(30) NOT NULL, "direccion" char(30) NOT NULL, "telefono1" char(30), "telefono2" char(30), "email" char(30), "descripcion" char(30), PRIMARY KEY ("ruc") ) CREATE TABLE "TB_USER" ( "usuario" char(30) NOT NULL , "contrasenia" char(30) NOT NULL, PRIMARY KEY ("usuario") ) ALTER TABLE TB_EMPLEADO ADD FOREIGN KEY ("id_jefe") REFERENCES TB_EMPLEADO("cedula") ALTER TABLE TB_ENTREGA ADD FOREIGN KEY (ID_CLIENTE) REFERENCES TB_CLIENTE(cedula) ALTER TABLE TB_ENTREGA ADD FOREIGN KEY (ID_EMPLEADO) REFERENCES TB_EMPLEADO(cedula) ALTER TABLE TB_ITEM ADD FOREIGN KEY (ID_BODEGA) REFERENCES TB_BODEGA(ID_BODEGA)
  9. 9. ALTER TABLE TB_ITEM ADD FOREIGN KEY (ID_CATEGORIA) REFERENCES TB_CATEGORIA(ID_CATEGORIA) ALTER TABLE TB_FACTURA ADD FOREIGN KEY (ID_CLIENTE) REFERENCES TB_CLIENTE(cedula) ALTER TABLE TB_FACTURA ADD FOREIGN KEY (ID_EMPLEADO) REFERENCES TB_EMPLEADO(cedula) ALTER TABLE TB_DETALLE_FACTURA ADD FOREIGN KEY (ID_DETALLE_FACTURA) REFERENCES TB_FACTURA(ID_FACTURA) ALTER TABLE TB_DETALLE_FACTURA ADD FOREIGN KEY (ID_ITEM) REFERENCES TB_ITEM(ID_ITEM) ALTER TABLE TB_EMPLEADO ADD FOREIGN KEY (USUARIO) REFERENCES TB_USER(USUARIO) ALTER TABLE TB_PEDIDO ADD FOREIGN KEY (ID_CLIENTE) REFERENCES TB_CLIENTE(cedula) ALTER TABLE TB_PEDIDO ADD FOREIGN KEY (ID_EMPLEADO) REFERENCES TB_EMPLEADO(cedula) ALTER TABLE TB_DETALLE_PEDIDO ADD FOREIGN KEY (ID_ITEM) REFERENCES TB_ITEM(ID_ITEM) ALTER TABLE TB_DETALLE_PEDIDO ADD FOREIGN KEY (ID_PEDIDO) REFERENCES TB_PEDIDO(ID_PEDIDO) ALTER TABLE TB_DETALLE_ENTREGA ADD FOREIGN KEY (ID_ITEM) REFERENCES TB_ITEM(ID_ITEM) ALTER TABLE TB_DETALLE_ENTREGA ADD FOREIGN KEY (ID_ENTREGA) REFERENCES TB_ENTREGA(ID_ENTREGA) 32.- Crear 2 tablas cada una con su (pk) y que ambas pk viajen de una tabla a otra, la (fk) en la primera tabla tiene que ser no null, y la (fk) en la seguna tabla tiene que ser null. CREATE TABLE "T_A" ( "a1" char(30) NOT NULL , "a2" char(30) NOT NULL, "a3" char(30) NOT NULL, "a4" char(30) NOT NULL, PRIMARY KEY ("a1") )
  10. 10. CREATE TABLE "T_B" ( "b1" char(30) NOT NULL , "b2" char(30) NOT NULL, "b3" char(30) NOT NULL, PRIMARY KEY ("b1") ) ALTER TABLE T_A ADD(b1 integer not null) ALTER TABLE T_B ADD(a1 integer) 33.- Crear 1 tabla con 3 columnas y 10 registros, la primera será la (pk), y luego eliminar una columna que no sea pk sin usar la sentencia “DROP COLUM”. CREATE TABLE "T_A2" ( "a1" char(30) NOT NULL , "a2" char(30) NOT NULL, "a3" char(30) NOT NULL, PRIMARY KEY ("a1") ) INSERT INTO T_A2 (a1,a2,a3)VALUES('100','wilmer','pd') INSERT INTO T_A2 (a1,a2,a3)VALUES('101','pepe','pa') INSERT INTO T_A2 (a1,a2,a3)VALUES('102','manuel','pb') INSERT INTO T_A2 (a1,a2,a3)VALUES('103','luis','pc') INSERT INTO T_A2 (a1,a2,a3)VALUES('104','nahun','pf') INSERT INTO T_A2 (a1,a2,a3)VALUES('105','roberto','pg') INSERT INTO T_A2 (a1,a2,a3)VALUES('106','miguel','ph') INSERT INTO T_A2 (a1,a2,a3)VALUES('107','julio','pi') INSERT INTO T_A2 (a1,a2,a3)VALUES('108','mauricio','pj') INSERT INTO T_A2 (a1,a2,a3)VALUES('109','efren','pk')*/ CREATE TABLE "copy_T_A2" ( "a1" char(30) NOT NULL , "a2" char(30) NOT NULL, PRIMARY KEY ("a1") ) INSERT INTO copy_T_A2 (SELECT a1,a2 FROM T_A2) drop table T_A2 alter table copy_T_A2 RENAME T_A2 34.- Crear 1 tabla con 3 columnas, y 10 registros, la primera será la (pk), y luego adherir una columna y hacerla (pk) junto con la otra (pk), es decir una clave compuesta. CREATE TABLE "T_A3" ( "a1" char(30) NOT NULL ,
  11. 11. "a2" char(30) NOT NULL, "a3" char(30) NOT NULL, PRIMARY KEY ("a1") ) INSERT INTO T_A3 (a1,a2,a3)VALUES('100','wilmer','pd') INSERT INTO T_A3 (a1,a2,a3)VALUES('101','pepe','pa') INSERT INTO T_A3 (a1,a2,a3)VALUES('102','manuel','pb') INSERT INTO T_A3 (a1,a2,a3)VALUES('103','luis','pc') INSERT INTO T_A3 (a1,a2,a3)VALUES('104','nahun','pf') INSERT INTO T_A3 (a1,a2,a3)VALUES('105','roberto','pg') INSERT INTO T_A3 (a1,a2,a3)VALUES('106','miguel','ph') INSERT INTO T_A3 (a1,a2,a3)VALUES('107','julio','pi') INSERT INTO T_A3 (a1,a2,a3)VALUES('108','mauricio','pj') INSERT INTO T_A3 (a1,a2,a3)VALUES('109','efren','pk') CREATE TABLE "copy_T_A3" ( "a1" char(30) NOT NULL , "a4" char(30) NOT NULL , "a2" char(30) NOT NULL, "a3" char(30) NOT NULL, PRIMARY KEY ("a1", "a4") ) INSERT INTO copy_T_A3 (SELECT a1,'200',a2,a3 FROM T_A3) drop table T_A3 alter table copy_T_A3 RENAME T_A3

×