Ejemplos sobre algebra relacional
Realizar las siguientes consultas:
1. Número de todas las cuentas corrientes ( NumCta ) de la sucursal número 2 ordenadas por fecha de apertura ( FecApe ).
select NumCta from cuentawhere Suc_CodSuc='2' and tipocta='corriente'; |
2. El número de todas las cuentas corrientes del cliente con DNI 44444444 y el orden de titularidad.
select NumCta,NumOrd fromtitular, cuenta where (titular.Cli_DniCli='44444444' and cuenta.tipocta='corriente' and cuenta.NumCta=titular.Cu_NumCta); |
1. El número de todas las cuentas corrientes del cliente que se llama Pedro del Valle y el orden de titularidad.
select NumCta,ncuenta.NumOrd as NumOrd from cuenta join (select Cu_NumCta, NumOrd from cliente, titularwhere( NomCli='Pedro del Valle' andtitular.Cli_DniCli=cliente.DniCli)) as ncuentawhere tipocta='corriente' and NumCta= ncuenta.Cu_NumCta; |
3. El DNI y nombre de todos los clientes que tienen cuenta en la sucursal número 4, ordenado por nombre.
select NomCli,DniCli from cliente join (select titular.Cli_DniCli from titular join (select NumCta from cuenta where Suc_CodSuc='4') as ncuentawherencuenta.NumCta=titular.Cu_NumCta) as b where b.Cli_DniCli=cliente.DniCli order by NomCli; |
* 5. El saldo de la cuenta número 6.
create view vista as select saldo from cuenta where NumCta='6';select * from vista;select saldo from cuenta where NumCta='6'; |
* 6. El número y saldo de todas las cuentas de la sucursal número 4.
create view nvista as select NumCta, Saldo from cuenta whereSuc_CodSuc='4';select * from nvista;select NumCta, Saldo from cuenta where Suc_CodSuc='4'; |
* 7. Listado de clientes ( DNI y nombre ) con el saldo total ( suma de saldos ) de todas sus cuentas corrientes, ordenado por nombre.
create view mivista as select c.DniCli, c.NomCli, tit.Cu_NumCta from cliente c join titular tit on c.DniCli=tit.Cli_DniCLi order by c.NomCli;select DniCli, NomCLi,sum(saldo) frommivista join cuenta on Cu_NumCta=NumCta and tipocta='corriente' group by DniCli;select DniCli,NomCli, sum(Saldo) as saldo from cuenta join (select c.DniCli, c.NomCli, tit.Cu_NumCta from cliente c join titular tit onc.DniCli=tit.Cli_DniCLi) as datos on datos.Cu_NumCta=cuenta.NumCta and cuenta.tipocta='corriente' group by DniCli order by datos.NomCli; |
* 8. Todas las sucursales ( número ) y susaldo total ( suma de los saldo de todas sus cuentas ) ordenado descendentemente por el saldo.
create view vsucursal as select CodSuc, sum(saldo) as saldo, count(*) as cantidad from cuenta join sucursal on Suc_CodSuc=CodSuc group by CodSuc order by saldo desc; select * from vsucursal;select CodSuc, count(*) as cantidad, sum(saldo) as saldo from cuenta join sucursal onSuc_CodSuc=CodSuc group by CodSuc order by saldo desc; |
9. Todas las fechas que hay operaciones junto con el saldo global del banco acumulado hasta esa fecha.
SELECT FecOpe, SUM(ImpOpe) AS 'Saldo Acumulado' FROM operacion GROUP BY FecOpe; |
# 10. Todos los clientes (DNI y nombre) junto con el número de cuentas corrientes que tienen (¿Cuántas tienen?),el saldo máximo y la suma de los saldos ordenado por el número de cuentas que tienen descendentemente; y para todos aquellos que tienen el mismo número de cuentas, ordenados por nombre ascendentemente.
CREATE VIEW primaria AS SELECT Cli_DniCli,COUNT(*) AS Cantidad, MAX(Saldo) AS maximo, SUM(Saldo) AS totalFROM titular JOINcuenta ON NumCta=Cu_NumCta WHERE tipocta='corriente' GROUP BYCli_DniCli;SELECT DniCli AS Dni,NomCli AS 'Nombre', Cantidad AS 'Numero de cuentas', maximo AS 'Saldo maximo', total AS 'Saldo total' FROM primariaJOIN cliente ON DniCli=Cli_DniCli ORDER BY Cantidad DESC,NomCli ASC; |
11. Todos los clientes (DNI) junto con el número de cuentas corrientes que tienen; pero sólo aquellos clientes que tienen más de una cuenta corriente.
select * from...
Regístrate para leer el documento completo.