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
                                    DEPARTMENT
  ADDRESS                                                                 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
                                                                            INDIVIDUAL *
                       LNAME
                                                                                   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.)

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

Ejercicios De Sql (actualizado)

  • 1.
    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
  • 2.
    DIAGRAMA BRANCH BRANCH_ID EMPLOYEE NAME EMP_ID DEPARTMENT ADDRESS 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 INDIVIDUAL * LNAME CUST_ID TITLE BUSINESS * LFNAME START_DATE CUST_ID LNAME END_DATE NAME BIRTH_DATE CUST_ID STATE_ID INCORP_DATE
  • 3.
    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
  • 4.
    7 Construya una consultaque 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
  • 5.
    13 Escriba una consultacompuesta 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
  • 6.
    17 Escriba una consultaque 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
  • 7.
    19 8.2 Modifique su consultadel 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
  • 8.
  • 10.
    22 9.1 Construya una consultasobre 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;
  • 11.
    23 Modifique la consultadel ejercicio 9.1 utilizando una subconsulta correlacionada sobre la tabla product para obtener los mismos resultados.
  • 12.
    24 Relacione la siguienteconsulta 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
  • 13.
    25 Construya una consultasobre 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
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
    INDIVIDUAL INSERTANDO DATOS BRANCH CUSTOMER
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.