ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

SQL - Funciones


Enviado por   •  24 de Abril de 2017  •  Práctica o problema  •  1.008 Palabras (5 Páginas)  •  287 Visitas

Página 1 de 5

1. Calcule la parte entera de la media del saldo de todas las cuentas.

        SELECT FLOOR(AVG(saldo)) FROM cuenta;

2. Haga lo mismo que en el anterior ejercicio, pero obteniendo el superior. Muéstrelo también, pero redondeando hacia abajo.

        SELECT CEIL(AVG(saldo)) FROM cuenta;

3. Mostrar nombre, apellidos, número de cuenta, saldo y dirección de sucursal de aquellos clientes cuyo saldo en cuenta sea superior a la media de la cuenta. Redondee el saldo de las cuentas a un decimal.

SELECT cliente.nombre, cliente.apellidos, cuenta.cod_cuenta, cuenta.saldo, sucursal.direccion FROM cliente, cuenta, sucursal WHERE cliente.cod_cliente = cuenta.cod_cliente AND cuenta.cod_sucursal = sucursal.cod_sucursal GROUP BY cliente.nombre, cliente.apellidos, cuenta.cod_cuenta, cuenta.saldo, sucursal.direccion HAVING cuenta.saldo > (SELECT AVG(saldo) FROM cuenta);

4. Realice una consulta en la que muestre el porcentaje de la última extracción de cada cuenta con respecto a saldo que hay en cuenta. Trunque el resultado con dos decimales. Trate de evitar valores nulos usando una función que permita evitarlos. (Difícil) -→ PARECIDO

SELECT movimiento.cod_cuenta, fecha_hora, ROUND((importe/saldo)*100,2) AS porcentaje FROM cuenta, movimiento WHERE cuenta.cod_cuenta = movimiento.cod_cuenta AND fecha_hora >= (SELECT MAX(fecha_hora) FROM movimiento, tipo_movimiento WHERE tipo_movimiento.cod_tipo_movimiento = movimiento.cod_tipo_movimiento AND salida = 'Si');

5. Para cada cuenta, calcule las salidas y entradas de dinero y el cálculo total. Diga el signo de esta operación. (Difícil)

6. Obtén la varianza de saldo de todas las cuentas.

SELECT VARIANCE(saldo) FROM cuenta;

7. Calcule la desviación típica de todas las cuentas.

SELECT SQRT(VARIANCE(saldo)) FROM cuenta;

8. Redondea y trunca a 2 y a -2 los resultados de varianza y desviación típica.

SELECT ROUND(SQRT(VARIANCE(saldo)),2), TRUNC(SQRT(VARIANCE(saldo)),-2) FROM cuenta;

9. Dando el identificador de cliente, muestre el mayor valor de cada fila pero sólo para la primera vez que aparezca como cliente.

SELECT cod_cliente, GREATEST(apellidos, nombre, direccion) FROM cliente;

10. Devuelva el nombre de cliente (nombre y apellidos concatenados con un espacio entre ellos), su número de cuenta, los movimientos realizados y el tipo de movimientos, durante el mes de enero de 2007.

SELECT CONCAT(CONCAT(nombre, ' '), apellidos) AS nombre, cuenta.cod_cuenta, num_mov_mes, cod_tipo_movimiento FROM cliente, cuenta, movimiento WHERE cliente.cod_cliente = cuenta.cod_cliente AND cuenta.cod_cuenta = movimiento.cod_cuenta AND TO_CHAR(fecha_hora, 'MON-yyyy') LIKE 'MAR-2007';

11. Realice lo mismo, pero dando el montante total de las operaciones realizadas, o sea, sume las entradas y reste las salidas. (Difícil)

SELECT CONCAT(CONCAT(nombre, ' '), apellidos) AS nombre, cuenta.cod_cuenta, num_mov_mes, tipo_movimiento.cod_tipo_movimiento FROM cliente, cuenta, movimiento, tipo_movimiento WHERE cliente.cod_cliente = cuenta.cod_cliente AND cuenta.cod_cuenta = movimiento.cod_cuenta AND movimiento.cod_tipo_movimiento = tipo_movimiento.cod_tipo_movimiento AND cuenta.saldo IN (SELECT SUM(saldo) FROM cuenta, movimiento, tipo_movimiento WHERE cuenta.cod_cuenta = movimiento.cod_cuenta AND movimiento.cod_tipo_movimiento = tipo_movimiento.cod_tipo_movimiento AND tipo_movimiento.salida = 'Si' AND - (SELECT SUM(saldo) FROM cuenta, movimiento, tipo_movimiento WHERE cuenta.cod_cuenta = movimiento.cod_cuenta AND movimiento.cod_tipo_movimiento = tipo_movimiento.cod_tipo_movimiento AND tipo_movimiento.salida = 'No')); -→ es así pero las subconsultas son en el select y sql no lo reconoce

12. Haga el ejercicio 9 con todas las letras convertidas a mayúsculas en primer lugar y, después, convertidas a minúsculas.

SELECT cod_cliente, UPPER(GREATEST(apellidos, nombre, direccion)), LOWER(GREATEST(apellidos, nombre, direccion)) FROM cliente;

13. Concatene la cadena "El apellido es: " al apellido pasado a mayúsculas del cliente que tenga la cuenta con mayor saldo.

SELECT UPPER(CONCAT('El apellido es: ', apellidos)) FROM cliente, cuenta WHERE cliente.cod_cliente = cuenta.cod_cliente AND cuenta.saldo = (SELECT MAX(cuenta.saldo) FROM cuenta);

...

Descargar como (para miembros actualizados) txt (8 Kb) pdf (135 Kb) docx (12 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com