Está en la página 1de 24

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

BRANCH
BRANCH_ID EMPLOYEE
NAME EMP_ID
ADDRESS
DEPARTMENT
FNAME
DEPT_ID
CITY LNAME
NAME
STATE 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
TXN_TYPE_CD
ACCOUNT * AMOUNT
PRODUCT * ACCOUNT_ID
TELLER_EMP_ID
PRODUCT_CD CUST_ID
EXECUTION_BRANCH_ID
NAME OPEN_DATE
FUNDS_AVAIL_dATE
PRODUCT_TYPE_CD CLOSE_DATE

DATE_OFFERED LASTE_ACTIVITY_DATE

DATE_RETIRED STATUS
OPEN_BRANCH_ID
OPEN_EMP_ID
AVAIL_BALANCE
PENDING_BALANCE
PRODUCT_CD

CUSTOMER *
CUST_ID
FED_ID
CUST_TYPE_CD
address
city
state
postal_code
OFFICER *
OFFICER_ID
FNAME
LNAME
INDIVIDUAL *
CUST_ID
TITLE BUSINESS *
LFNAME
START_DATE CUST_ID
LNAME
END_DATE NAME
BIRTH_DATE
CUST_ID STATE_ID
INCORP_DATE
EJERCICIOS DE SQL

(OPCIONALES.)

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 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 Total
FROM
ACCOUNT

19
8.2
Modifique 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 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 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 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

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_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, 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_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

También podría gustarte