Ejercicios De Sql (actualizado)

27
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

Transcript of Ejercicios De Sql (actualizado)

Page 1: Ejercicios De Sql (actualizado)

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

Page 2: Ejercicios De Sql (actualizado)

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

Page 3: Ejercicios De Sql (actualizado)

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

Page 4: Ejercicios De Sql (actualizado)

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

Page 5: Ejercicios De Sql (actualizado)

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

Page 6: Ejercicios De Sql (actualizado)

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

Page 7: Ejercicios De Sql (actualizado)

select cust_idfrom CUSTOMERwhere cust_id <=20

Page 8: Ejercicios De Sql (actualizado)
Page 9: Ejercicios De Sql (actualizado)

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;

Page 10: Ejercicios De Sql (actualizado)

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

Page 11: Ejercicios De Sql (actualizado)

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

Page 12: Ejercicios De Sql (actualizado)

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

Page 13: Ejercicios De Sql (actualizado)
Page 14: Ejercicios De Sql (actualizado)

TABLAS

BRANCH

ACCOUNT

Page 15: Ejercicios De Sql (actualizado)

CUSTOMER

BUSSINESS

EMPLOYEE

Page 16: Ejercicios De Sql (actualizado)

DEPARTMENT

TRANSACTION

Page 17: Ejercicios De Sql (actualizado)

PRODUCT_TYPE

PRODUCT

OFFICER

Page 18: Ejercicios De Sql (actualizado)

INDIVIDUAL

INSERTANDO DATOS

BRANCH

CUSTOMER

Page 19: Ejercicios De Sql (actualizado)

DEPARTMENT

EMPLOYEE

Page 20: Ejercicios De Sql (actualizado)

PRODUCT TYPE CD

PRODUCT

Page 21: Ejercicios De Sql (actualizado)

ACCOUNT

Page 22: Ejercicios De Sql (actualizado)

BUSINESS

INDIVIDUAL

Page 23: Ejercicios De Sql (actualizado)

TRANSACCION

OFFICER

Page 24: Ejercicios De Sql (actualizado)