Post on 13-Jun-2015
transcript
UNIVERSIDAD VERACRUZANA
Facultad de Administración
Experiencia:
Base de datos
Alumno:
Lara López Karime Arely
Madrigal Sosa Mariel
Zarate Osorio Erik Eduardo
Catedrático:
Dr. Carlos Arturo Torres Gastelú
Nombre del Trabajo:
Ejercicios de SQL obligatorios y opcionales
Veracruz, ver a 14 de Diciembre del 2009
DIAGRAMA
ACCOUNT *ACCOUNT_ID
CUST_ID
OPEN_DATE
CLOSE_DATE
LASTE_ACTIVITY_DATE
STATUS
OPEN_BRANCH_ID
OPEN_EMP_ID
AVAIL_BALANCE
PENDING_BALANCE
PRODUCT_CD
BRANCHBRANCH_ID
NAME
ADDRESS
CITY
STATE
ZIP
BUSINESS *CUST_ID
NAME
STATE_ID
INCORP_DATE
CUSTOMER *CUST_ID
FED_ID
CUST_TYPE_CD
address
city
state
postal_code
DEPARTMENTDEPT_ID
NAME
EMPLOYEEEMP_ID
FNAME
LNAME
START_DATE
END_DATE
SUPERIOR_EMP_ID
DEPT_ID
TITLE
ASSIGNED_BRANCH_ID
INDIVIDUAL *CUST_ID
LFNAME
LNAME
BIRTH_DATE
OFFICER *OFFICER_ID
FNAME
LNAME
TITLE
START_DATE
END_DATE
CUST_ID
PRODUCT *PRODUCT_CD
NAME
PRODUCT_TYPE_CD
DATE_OFFERED
DATE_RETIRED
PRODUCT_TYPE *PRODUCT_TYPE_CD
NAMETRANSACCION *
TXN_ID
TXN_DATE
ACCOUNT_ID
TXN_TYPE_CD
AMOUNT
TELLER_EMP_ID
EXECUTION_BRANCH_ID
FUNDS_AVAIL_dATE
EJERCICIOS DE SQL
(OPCIONALES.)
1
Recupere el ID de empleado, el nombre y el apellido de todos los empleados del banco. Ordene por apellido y nombre.
SELECT EMP_ID, FNAME, LNAMEFROM EMPLOYEEORDER BY FNAME, LNAME
7Construya una consulta que recupere todas las cuentas abiertas en 2002.
SELECT *FROM ACCOUNTWHERE OPEN_DATE BETWEEN '2002-01-01' AND '2002-12-31'
11Construya una consulta que localice a todos los empleados cuyo supervisor esté asignado a un departamento diferente. Recupere los ID de empleados, el nombre y el primer apellido.SELECT EMP_ID, FNAME, LNAME, DEPT_ID, SUPERIOR_EMP_IDFROM EMPLOYEEWHERE SUPERIOR_EMP_ID <> dep_id
Order by emp_id, fname, lname
13Escriba una consulta compuesta que encuentre el nombre y los apellidos de todos los clientes, junto con el nombre y los apellidos de todos los empleados.
USE EJER_01SELECT LFNAME,lnameFROM individual UNIONSELECT fname,lnameFROM employee
17Escriba una consulta que devuelva sólo el mes de la fecha actual.
USE [EJER_01] SELECT MONTH (GETDATE ())
EJERCICIOS DE SQL
(OBLIGATORIOS)
18(8.1) Construya una consulta que cuente el número de filas en la tabla de cuentas.
SELECT Count(*) AS TotalFROM ACCOUNT
198.2Modifique su consulta del ejercicio 8.1 para que calcule el número de cuentas que tiene cada cliente. Muestre el ID del cliente y el número de cuentas por cada uno.SELECT Count(*) AS TotalFROM customergroup by cust_id
select cust_idfrom CUSTOMERwhere cust_id <=20
229.1Construya una consulta sobre la tabla account que utiliza una condición de filtrado con una subconsulta no correlacionada sobre la tabla product, para recuperar todas los préstamos (product.product_type_cd = 'LOAN'). Recuperar el ID de cuenta, el código de producto, el ID de cliente y el saldo disponible.
select ACCOUNT_ID, PRODUCT_ID, CUST_ID,.PRESTAMO (select count(d.numeroitem) from Detalles as d where f.numero=d.numerofactura) as cantidad, (select sum(d.preciounitario*cantidad) from Detalles as d where f.numero=d.numerofactura) as totalfrom facturas as f;
23Modifique la consulta del ejercicio 9.1 utilizando una subconsulta correlacionada sobre la tabla product para obtener los mismos resultados.
24Relacione la siguiente consulta con la tabla employee, para mostrar el nivel de experiencia de cada empleado:
SELECT 'trainee' name, '2004-01-01' start_dt, '2005-12-31' end_dtUNIONALLSELECT 'worker' name, '2002-01-01' start_dt, '2003-12-31' end_dtUNIONALLSELECT 'mentor' name, '2000-01-01' start_dt, '2001-12-31' end_dt
Póngale a la subconsulta el alias "levels"e incluya el ID de empleado, el nombre, el apellido y el nivel de experiencia (Ievels.name).
SELECT 'trainee' name, '2007-01-01' start_dt, '2009-12-31' end_dtUNION ALLSELECT 'worker' name, '2004-01-01' start_dt, '2006-12-31' end_dtUNION ALLSELECT 'mentor' name, '2001-01-01' start_dt, '2003-12-31' end_dtfrom EMPLOYEE
25Construya una consulta sobre la tabla employee que recupere el ID de empleado, el nombre y el apellido, además del nombre del departamento y la sucursal a la que está asignado. No relacione (una) ninguna tabla.
SELECT emp_id, fname, LNAME, DEPT_ID, ASSIGNED_BRANCH_IDFROM EMPLOYEE
TABLAS
BRANCH
ACCOUNT
CUSTOMER
BUSSINESS
EMPLOYEE
DEPARTMENT
TRANSACTION
PRODUCT_TYPE
PRODUCT
OFFICER
INDIVIDUAL
INSERTANDO DATOS
BRANCH
CUSTOMER
DEPARTMENT
EMPLOYEE
PRODUCT TYPE CD
PRODUCT
ACCOUNT
BUSINESS
INDIVIDUAL
TRANSACCION
OFFICER