Este documento contiene la información de un equipo de estudiantes de la carrera de Sistemas Computacionales Administrativos de la Universidad Veracruzana que incluye sus nombres e incluye una serie de ejercicios de SQL con sus respectivas soluciones. Los ejercicios están enfocados en realizar consultas a una base de datos bancaria utilizando términos como seleccionar, filtrar, ordenar, contar y funciones como ABS, SUBSTRING y MONTH.
1. 2009
UNIVERSIDAD VERACRUZANA
FACULTAD DE ADMINISTRACIÓN
CARRERA: SISTEMAS COMPUTACIONALES
ADMINISTRATIVOS
CATEDRÁTICO: DR. CARLOS ARTURO TORRES
GASTELU
INTEGRANTES EQUIPO #2:
-REYES HERNANDEZ VICENTE JOSUE
-MORENO HERNANDEZ ABRAHAM
-SOLANO MALFAVON CARLOS RAUL
EJRCICIOS SQL OPCIONALES Y OBLIGATORIOS
4. 1Recupere el ID de empleado, el nombre y el apellido de todos los empleados delbanco.
Ordene por apellido y nombre.
USE banco_imagen
SELECT emp_id,fname,lname
FROM employee
ORDER BY lname, fname
2 Recupere el ID de cuenta, el ID de cliente y el saldo disponible de todas las cuentas cuyo
estado sea "ACTIVE" (ACTIVO) Y cuyo saldo disponible sea superior a 2.500 euros.
USE banco_imagen
SELECT account_id,open_emp_id,avail_balance
FROM account
WHERE status='activo' and
avail_balance>2500
3 Escriba una consulta sobre la tabla account que devuelva los ID de los empleados que
abrieron las cuentas (utilice la columna account.open_emp_id). Incluya una única fila por
cada empleado.
USE banco_imagen
SELECT open_emp_id
FROM account
GROUP BY open_emp_id
4 Rellene los campos en blanco (que figuran indicados por <#> de esta consulta de
conjunto de datos múltiples, para conseguir los resultados que se muestran a continuación:
certificate of deposit transaction
deposit banck transaction
bank
prdon
cdt dbt
USE banco_imagen
SELECT txn_id,txn_date,account_id,txn_type_cd,amount
FROM transaction1
WHERE txn_date BETWEEN '2005-02-22' AND '2005-02-27'
Para los dos primeros ejercicios se utilizarán los siguientes datos sobre transacciones:
5. 5 ¿Cuál de los ID de transacción devolverían las siguientes condiciones de filtrado?
Txn_date< ‘2005-02-26’and (txn_type_cd='DBT' OR amount > 100)
USE banco_imagen
SELECT txn_id
FROM transaction1
WHERE Txn_date< '2005-02-26'and (txn_type_cd='DBT' OR amount > 100)
6 ¿Cuál de los ID de transacción devolverían las siguientes condiciones de filtrado?
account_id IN (101,103) AND NüT (txn_type_cd = 'DBT' OR
amount > 100)
USE banco_imagen
SELECT txn_id
FROM transaction1
WHERE account_id IN (7001,7003) AND NOT (txn_type_cd = 'DBT' OR amount > 100)
7 Construya una consulta que recupere todas las cuentas abiertas en 2002.
USE banco_imagen
SELECT account_id,open_date
FROM account
WHERE open_date BETWEEN '2002-01-01' AND '2002-12-31'
8 Construya una consulta que encuentre a todos los clientes no institucionales, cuyo
apellido contenga una "a" en la segunda posición y una "e" en cualquier sitio detrás de la
"a".
SELECT lname
FROM individual
WHERE lname LIKE'_a%e%'
6. 9 Rellene los campos en blanco (indicados mediante <#>) de la siguiente consulta para
obtener los siguientes resultados:
mysql> SELECT e.emp_id, e.fname, e.1name, b.name
-> FROM emp10yee e INNER JOIN <1> b
-> ON e.assigned_branch_id = b.<2>;
10 Construya una consulta que devuelva el ID de cuenta para cada cliente no institucional
(customer. cust_type_cd ' 1 ') junto con el ID del cliente (customer-fed_id) y el nombre del
producto en el que esté basada la cuenta (product_name).
USE banco_imagen
SELECT c.cust_id,fed_id,name
FROM customer c, account a,product p, individual i
WHERE c.cust_id=a.cust_id
AND a.product_cd=p.product_cd
AND i.cust_id=c.cust_id
ORDER BY c.cust_idAND a.product_cd=p.product_cd
AND i.cust_id=c.cust_id
ORDER BY c.cust_id
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
FROM employee
WHERE emp_id<>superior_emp_id
7. 12 Si tenemos el conjunto A = {LM N O P} Yel conjunto B = {PQR S T}, qué conjuntos se
forman mediante las siguientes operaciones:
• A union B = {LM N O P Q R S T }
• A union all B={LM N O P P Q R S T }
• A intersect B= { P}
• A except B={LM N O}
13 6.2 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 banco_imagen
SELECT fname,lname
FROM individual
UNION
SELECT fname,lname
FROM employee
14 Clasifique u ordene los resultados del ejercicio 6.2 por la columna Iname.
USE banco_imagen
SELECT fname,lname
FROM individual
UNION
SELECT fname,lname
FROM employee
ORDER BY lname
15 Escriba una consulta que devuelva los caracteres desde la posición 17 hasta la 25 de la
cadena siguiente: "Por favor, encuentre la subcadena de esta cadena" ("Pleasefind the
substring in this string").
SELECT SUBSTRING ('"Pleasefind the substring in this string"',17,9)
8. 16 Escriba una consulta que devuelva el valor absoluto y el signo (-1, O ó 1) del número -
25,76823. También, devuelva el número redondeado a la centésima más próxima.
SELECT ABS(-25.76823) AS SIN_SIGNO, SIGN(-25.76823)AS SIGNO, ROUND(-25.76823,2)AS
REDONDEADO
17 Escriba una consulta que devuelva sólo el mes de la fecha actual.
Es muy probable que sus resultados sean diferentes, salvo que coincida que esté en el mes
de mayo cuando realice este ejercicio.
SELECT MONTH (GETDATE ())
18 8.1 Construya una consulta que cuente el número de filas en la tabla de cuentas.
SELECT COUNT(*) AS num_filaS
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.
USE banco_imagen
SELECT cust_id,COUNT (*) AS num_filaS
FROM account
GROUP BY cust_id