Ejercicios de la Guía 1 a 20
Ej. 1:
DESCRIBE CLIENTES
DESCRIBE INVENTARIO
DESCRIBE CTACTE
Ej. 2
SELECT nombre_cliente, cuit, calle_y_nro_cli, barrio_cli, ciudad_cli, cod_postal_cli, telefono_cli,
saldo_actual, limite_credito FROM CLIENTES
Ej. 3
SELECT nombre_cliente, cuit, calle_y_nro_cli, barrio_cli, ciudad_cli, cod_postal_cli, telefono_cli,
saldo_actual, limite_credito
FROM CLIENTES
WHERE saldo_actual > limite_credito
Ej. 4
SELECT nombre_cliente, cuit, calle_y_nro_cli, barrio_cli, ciudad_cli, cod_postal_cli, telefono_cli,
ctacte_susp
FROM CLIENTES
WHERE saldo_actual > limite_credito
AND ctacte_susp = “N”
Ej. 5
SELECT nombre_cliente, cuit, calle_y_nro_cli, barrio_cli, ciudad_cli, cod_postal_cli, telefono_cli,
saldo_actual
FROM CLIENTES
WHERE ctacte_susp = ‘S’
Ej. 6
SELECT descripcion_producto, stock_deposito1, stock_deposito2
FROM INVENTARIO
WHERE discontinuado = “S”
Ej. 7
SELECT CLIENTES.nombre_cliente, CLIENTES.cuit, prefijo_comprobante, numero_comprobante,
fecha_comprobante, saldo_no_cancelado
FROM CLIENTES, CTACTE
WHERE CLIENTES.id_cliente = CTACTE.id_cliente
AND ctacte_susp = “S”
AND saldo_no_cancelado > 0
Ej. 8
SELECT CLIENTES.nombre_cliente, CLIENTES.cuit, prefijo_comprobante, numero_comprobante,
fecha_comprobante, saldo_no_cancelado
FROM CLIENTES, CTACTE
WHERE CLIENTES.id_cliente = CTACTE.id_cliente
AND saldo_no_cancelado > 0
ORDER BY fecha_comprobante
Ej. 9
SELECT nombre_cliente, calle_y_nro_cli, barrio_cli, cod_postal_cli, ciudad_cli, nombre_provincia
FROM CLIENTES, PROVINCIAS
WHERE CLIENTES.id_provincia = PROVINCIAS.id_provincia
AND nombre_provincia <> ‘CORDOBA’
Ej. 10
Hacer primero un SELECT de la tabla SECTORES para ver cual es el código del sector “RIO
CUARTO Y ZONA DE INFL.”
SELECT nombre_cliente, calle_y_nro_cli, barrio_cli, cod_postal_cli, ciudad_cli, saldo_actual
FROM CLIENTES
WHERE id_sector = 2
Ej 10 Bis
SELECT nombre_cliente, calle_y_nro_cli, barrio_cli, cod_postal_cli, ciudad_cli, saldo_actual,
nombre_sector
FROM CLIENTES, SECTORES
WHERE CLIENTES.id_sector = SECTORES.id_sector
AND nombre_sector LIKE “RIO CUARTO Y ZONA DE INFL.”
Ej. 11
SELECT id_vendedor, apellido_vendedor, nombre_vendedor
FROM VENDEDORES
WHERE id_vendedor BETWEEN 6 AND 8
Ej. 12
SELECT *
FROM CLIENTES
WHERE nombre_cliente LIKE “Med%”
Ej. 13
SELECT *
FROM CLIENTES
WHERE nombre_cliente LIKE “%Jose%”
Ej. 14
SELECT *
FROM CLIENTES
WHERE id_vendedor IN (5,6,7)
ORDER BY id_vendedor
Ej. 15
SELECT *
FROM CLIENTES
WHERE id_vendedor IN (1,2,3,4)
AND ciudad_cli LIKE “CORDOBA”
ORDER BY id_vendedor
Ej. 16
SELECT *
FROM CLIENTES
WHERE id_vendedor BETWEEN 1 AND 10
AND (ciudad_cli LIKE “CORDOBA” OR ciudad_cli LIKE “%RIO%”)
ORDER BY id_vendedor DESC
Ej. 17
SELECT id_vendedor, AVG(neto_gravado+neto_no_gravado) AS ventas_promedio
FROM CTACTE
GROUP BY id_vendedor
Ej. 18
(Ej. 14 bis)
SELECT CLIENTES .*, apellido_vendedor, nombre_vendedor
FROM CLIENTES, VENDEDORES
WHERE CLIENTES.id_vendedor = VENDEDORES.id_vendedor
AND VENDEDORES.id_vendedor IN (5,6,7)
ORDER BY VENDEDORES.id_vendedor
(Ej. 15 bis)
SELECT CLIENTES .*, apellido_vendedor, nombre_vendedor
FROM CLIENTES, VENDEDORES
WHERE CLIENTES.id_vendedor = VENDEDORES.id_vendedor
AND VENDEDORES.id_vendedor IN (1,2,3,4)
AND ciudad_cli LIKE “CORDOBA”
ORDER BY VENDEDORES.id_vendedor
(Ej. 16 bis)
SELECT CLIENTES .*, apellido_vendedor, nombre_vendedor
FROM CLIENTES, VENDEDORES
WHERE CLIENTES.id_vendedor = VENDEDORES.id_vendedor
AND VENDEDORES.id_vendedor BETWEEN 1 AND 10
AND (ciudad_cli LIKE “CORDOBA” OR ciudad_cli LIKE “%RIO%”)
ORDER BY VENDEDORES.id_vendedor DESC
Ej. 19
SELECT id_cliente, nombre_cliente, SUM(neto_gravado+neto_no_gravado) AS ventas
FROM CTACTE
GROUP BY id_cliente, nombre_cliente
Ej. 20
SELECT id_cliente, nombre_cliente, SUM(neto_gravado+neto_no_gravado) AS ventas
FROM CTACTE, DETALLE_MOVIM_CTACTE
WHERE CTACTE.nro_movim_ctacte = DETALLE_MOVIM_CTACTE.nro_movim_ctacte AND
id_producto = '10142'
GROUP BY id_cliente, nombre_cliente
Ejercicios Adicionales A – P
A)
SELECT *
FROM CLIENTES
WHERE ciudad_cli LIKE “CORDOBA” AND saldo_actual > limite_credito
OR ctacte_susp = “S”
B)
SELECT *
FROM CLIENTES
WHERE saldo_actual > limite_credito AND ciudad_cli LIKE “CORDOBA” AND (barrio_cli LIKE
“CENTRO” OR barrio_cli LIKE “ALTO ALBERDI”)
C)
SELECT nombre_cliente, prefijo_comprobante, numero_comprobante, importe_total
FROM CTACTE, VENDEDORES
WHERE CTACTE.id_vendedor = VENDEDORES.id_vendedor
AND apellido_vendedor LIKE "Martínez"
D)
SELECT nombre_cliente, prefijo_comprobante, numero_comprobante, importe_total,
desc_tipo_movim
FROM CTACTE, VENDEDORES, TIPOS_MOVIMIENTOS
WHERE CTACTE.id_vendedor = VENDEDORES.id_vendedor
AND CTACTE.id_tipo_movim = TIPOS_MOVIMIENTOS.id_tipo_movim
AND apellido_vendedor LIKE "Martínez"
E)
SELECT apellido_vendedor, nombre_vendedor, nombre_cliente, saldo_actual, limite_credito,
limite_credito - saldo_actual AS exceso_credito
FROM VENDEDORES, CLIENTES
WHERE VENDEDORES.id_vendedor = CLIENTES.id_vendedor
AND saldo_actual > limite_credito
ORDER BY limite_credito - saldo_actual
F)
SELECT * FROM CTACTE WHERE nro_movim_ctacte = 9920
G)
SELECT *
FROM DETALLE_MOVIM_CTACTE
WHERE nro_movim_ctacte = 9920
H)
SELECT descripcion_producto, DETALLE_MOVIM_CTACTE .cantidad, precio
FROM DETALLE_MOVIM_CTACTE, INVENTARIO
WHERE DETALLE_MOVIM_CTACTE.id_producto = INVENTARIO.id_producto
AND nro_movim_ctacte = 9920
I)
La razón es que en la tabla INVENTARIO no existe uno de los artículos que forman parte del
detalle del movimiento en cuenta corriente. Explicar el tema de “Falta de Integridad de los Datos”
J)
SELECT SUM(saldo_actual) AS saldo_total
FROM CLIENTES
K)
SELECT AVG(saldo_actual)
FROM CLIENTES
WHERE saldo_actual > 0
L)
SELECT MAX(saldo_actual)
FROM CLIENTES
M)
SELECT id_sector, SUM(saldo_actual) AS saldo
FROM CLIENTES
GROUP BY id_sector
La suma de los saldos de cada sector es igual al total mostrado en el ejercicio J
N)
SELECT id_vendedor, COUNT(*)
FROM CLIENTES
GROUP BY id_vendedor
Ñ)
SELECT apellido_vendedor, nombre_vendedor, CLIENTES.id_vendedor, COUNT(*) AS
cantidad_clientes
FROM CLIENTES, VENDEDORES
WHERE CLIENTES.id_vendedor = VENDEDORES.id_vendedor
GROUP BY apellido_vendedor, nombre_vendedor, CLIENTES.id_vendedor
ORDER BY apellido_vendedor
O)
SELECT SUM(iva)
FROM CTACTE, TIPOS_MOVIMIENTOS
WHERE CTACTE.id_tipo_movim = TIPOS_MOVIMIENTOS.id_tipo_movim
AND fecha_comprobante BETWEEN '2000-11-01' AND '2000-11-30'
AND desc_tipo_movim LIKE '%Factura%'
P)
SELECT fecha_comprobante, detalle, prefijo_comprobante, numero_comprobante,
letra_comprobante, nombre_cliente, cuit, tipo_iva, neto_gravado, neto_no_gravado, iva,
importe_total
FROM CTACTE, TIPOS_MOVIMIENTOS
WHERE CTACTE.id_tipo_movim = TIPOS_MOVIMIENTOS.id_tipo_movim
AND fecha_comprobante BETWEEN '2000-11-01' AND '2000-11-30'
AND desc_tipo_movim LIKE '%Factura%'
ORDER BY fecha_comprobante