Está en la página 1de 23

UNIVERSIDAD

VERACRUZANA
Facultad de Administracin

Experiencia:
Base de datos

Alumno:
Lara Lpez Karime Arely
Madrigal Sosa Mariel
Zarate Osorio Erik Eduardo

Catedrtico:
Dr. Carlos Arturo Torres Gastel

Nombre del Trabajo:


Ejercicios de SQL obligatorios y opcionales

Veracruz, ver a 14 de Diciembre del 2009

DIAGRAMA

BRANCH
BRANCH_ID

EMPLOYEE

NAME

DEPARTMENT

ADDRESS

DEPT_ID

CITY

FNAME
LNAME

NAME

STATE

EMP_ID

START_DATE

ZIP

END_DATE
SUPERIOR_EMP_ID
DEPT_ID
TITLE
ASSIGNED_BRANCH_ID

PRODUCT_ TYPE *
PRODUCT_TYPE_CD

TRANSACCION *

NAME

TXN_ID
TXN_DATE
ACCOUNT_ID

ACCOUNT *
PRODUCT *

ACCOUNT_ID

PRODUCT_CD

CUST_ID

NAME

OPEN_DATE

PRODUCT_TYPE_CD

CLOSE_DATE

DATE_OFFERED

LASTE_ACTIVITY_DATE

DATE_RETIRED

STATUS

TXN_TYPE_CD
AMOUNT
TELLER_EMP_ID
EXECUTION_BRANCH_ID
FUNDS_AVAIL_dATE

OPEN_BRANCH_ID
OPEN_EMP_ID
AVAIL_BALANCE
PENDING_BALANCE
PRODUCT_CD

CUSTOMER *
CUST_ID
FED_ID
CUST_TYPE_CD
address
city
state

OFFICER *

postal_code

OFFICER_ID
FNAME

INDIVIDUAL *

LNAME
TITLE

BUSINESS *

START_DATE

CUST_ID

END_DATE

NAME

CUST_ID

STATE_ID
INCORP_DATE

CUST_ID
LFNAME
LNAME
BIRTH_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, LNAME
FROM EMPLOYEE
ORDER BY FNAME, LNAME

7
Construya una consulta que recupere todas las cuentas abiertas en 2002.
SELECT *
FROM ACCOUNT
WHERE OPEN_DATE BETWEEN '2002-01-01' AND '2002-12-31'

11
Construya 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_ID
FROM EMPLOYEE
WHERE SUPERIOR_EMP_ID <> dep_id
Order by emp_id, fname, lname

13
Escriba 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_01
SELECT LFNAME,lname
FROM individual
UNION
SELECT fname,lname
FROM employee

17
Escriba una consulta que devuelva slo 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 nmero de filas en la tabla de cuentas.

SELECT
Count(*) AS Total
FROM
ACCOUNT

19
8.2
Modifique su consulta del ejercicio 8.1 para que calcule el nmero de cuentas que tiene
cada cliente. Muestre el ID del cliente y el nmero de cuentas por cada uno.
SELECT
Count(*) AS Total
FROM
customer
group by cust_id

select cust_id
from CUSTOMER
where cust_id <=20

22
9.1
Construya una consulta sobre la tabla account que utiliza una condicin de filtrado con
una subconsulta no correlacionada sobre la tabla product, para recuperar todas los
prstamos (product.product_type_cd = 'LOAN'). Recuperar el ID de cuenta, el cdigo 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 total
from facturas as f;

23
Modifique la consulta del ejercicio 9.1 utilizando una subconsulta correlacionada sobre la
tabla product para obtener los mismos resultados.

24
Relacione 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_dt
UNIONALL
SELECT 'worker' name, '2002-01-01' start_dt, '2003-12-31' end_dt
UNIONALL
SELECT 'mentor' name, '2000-01-01' start_dt, '2001-12-31' end_dt
Pngale 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_dt
UNION ALL
SELECT 'worker' name, '2004-01-01' start_dt, '2006-12-31' end_dt
UNION ALL
SELECT 'mentor' name, '2001-01-01' start_dt, '2003-12-31' end_dt
from EMPLOYEE

25
Construya una consulta sobre la tabla employee que recupere el ID de empleado, el
nombre y el apellido, adems 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_ID
FROM
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