Cuenta Bancaria

Ejercicios Resueltos (SQL SERVER) PARTE 1 : Consultas ------------------------------------------------------------------

Views 91 Downloads 0 File size 63KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Ejercicios Resueltos (SQL SERVER) PARTE 1 : Consultas -----------------------------------------------------------------------CREATE DATABASEBANCO GO USEBANCO GO CREATE TABLECLIENTE (IDCLIENTEVARCHAR(5)PRIMARY KEY, APELLIDOSVARCHAR(30), NOMBRESVARCHAR(30)) GO CREATE TABLECUENTA (IDCLIENTEVARCHAR(5), IDCUENTAVARCHAR(5)PRIMARY KEY, SALDOFLOAT, DIVISAVARCHAR(20)) GO CREATE TABLEMOVIMIENTO (IDCUENTAVARCHAR(5), IDMOVIMIENTOVARCHAR(5)PRIMARY KEY, TIPOVARCHAR(2), MONTOFLOAT, FECHADATETIME) GO

ALTER TABLECUENTA ADD FOREIGN KEY(IDCLIENTE)REFERENCESCLIENTE GO ALTER TABLEMOVIMIENTO ADD FOREIGN KEY(IDCUENTA)REFERENCESCUENTA GO --Según el Modelo Realice las Siguientes Preguntas --1A --Consultar las Cuentas de los clientes cuyo Apellido empiece por A SELECTB.APELLIDOS+','+B.NOMBRESASCLIENTE,A.IDCUENTA,A.SALDO FROMCUENTA AINNER JOINCLIENTE B ONA.IDCLIENTE=B.IDCLIENTE WHEREB.APELLIDOSLIKE'A%' --1B – Consultar todo los Movimientos de las Cuentas en Divisa EURO delCliente cuyos Apellidos es PEREZ SELECTA.IDCUENTA,C.FECHA,C.MONTO,TIPO=CASEC.TIPOWHEN'D'THEN'DEPOSI TO'WHEN'R'THEN'RETIRO'WHEN'T'THEN'TRANSFERENCIA'END FROMCUENTA AINNER JOINCLIENTE BONA.IDCLIENTE=B.IDCLIENTE INNER JOINMOVIMIENTO CONA.IDCUENTA=C.IDCUENTA WHEREA.DIVISA='EUROS'ANDB.APELLIDOS='PEREZ' ORDER BYC.FECHADESC --1C – Consultar todo los movimientos de las Cuentas del Cliente PEREZ enEUROS (Aunque tenga cuentas en otras divisas) Ordenados por el numero deCuenta

SELECTC.NOMBRES,C.APELLIDOS,CU.IDCUENTA,CU.SALDO,CU.DIVISA,M.IDMOV IMIENTO,M.MONTO,M.TIPO FROMCLIENTE CINNER JOINCUENTA CU ONC.IDCLIENTE=CU.IDCLIENTE INNER JOINMOVIMIENTO M ONCU.IDCUENTA=M.IDCUENTA WHEREC.APELLIDOS='PEREZ' ORDER BYCU.IDCUENTA --1D – Consultar las Divisas que no tengan ninguna Cuenta Asociada SELECTB.IDCLIENTE,B.APELLIDOS,B.NOMBRES,A.IDCUENTA,A.DIVISA FROMCUENTA AINNER JOINCLIENTE BONA.IDCLIENTE=B.IDCLIENTE INNER JOINMOVIMIENTO CONA.IDCUENTA=A.IDCUENTA WHEREA.DIVISA='SIN CUENTA' --1E – Consultar los Movimientos de Ingreso de PEREZ y los Movimientos deTraspaso de RODRIGUEZ SELECTA.IDCUENTA,C.FECHA,C.MONTO,C.TIPO FROMCUENTA AINNER JOINCLIENTE BONA.IDCLIENTE=B.IDCLIENTE INNER JOINMOVIMIENTO CONA.IDCUENTA=A.IDCUENTA WHEREC.TIPO='DEPOSITO'ANDB.APELLIDOS='PEREZ'OR C.TIPO='TRANSACCIONES'ANDB.APELLIDOS='RODRIGUEZ' ORDER BYC.FECHADESC --1F – CREAR UNA FUNCION QUE RETORNE SI UN CLIENTE ES MOROSO CREATE FUNCTIONMOROSO(@FECHAPAGODATETIME) RETURNS VARCHAR(20)

AS BEGIN DECLARE@FECHACLIENTEDATETIME DECLARE@MENSAJEVARCHAR(20) SELECT@FECHACLIENTE=FECHAFROMMOVIMIENTOWHERETIPO='DEPOSITO' IFMONTH(@FECHACLIENTE)