Consultas SQL Esenciales: Recuperación y Modificación de Datos en Tablas Cajas y Almacenes

Diseño e Ingeniería2,7 KB

Consultas SQL Esenciales: Recuperación y Modificación de Datos

A continuación, se presentan diversas consultas SQL para interactuar con las tablas cajas y almacenes, cubriendo operaciones de selección, conteo y actualización de registros.

1. Obtención de Referencia y Ciudad de Cajas

Recuperar el número de referencia de cada caja junto con el nombre de la ciudad en la que se encuentra.

SELECT
    c.numreferencia,
    a.lugar
FROM
    cajas AS c
JOIN
    almacenes AS a ON c.almacen = a.codigo;

2. Conteo de Cajas por Almacén (Incluyendo Almacenes Vacíos)

Obtener el número de cajas que hay en cada almacén, mostrando también aquellos almacenes que no tengan cajas (conteo cero).

SELECT
    a.codigo,
    COUNT(c.numreferencia) AS total_cajas
FROM
    almacenes AS a
LEFT JOIN
    cajas AS c ON a.codigo = c.almacen
GROUP BY
    a.codigo;

3. Identificación de Almacenes Saturados

Obtener los códigos de los almacenes que están saturados (almacenes donde el número de cajas es superior a su capacidad).

SELECT
    a.codigo
FROM
    almacenes AS a
WHERE
    a.capacidad < (
        SELECT
            COUNT(numreferencia)
        FROM
            cajas
        WHERE
            almacen = a.codigo
    );

4. Cajas en Ciudades Específicas

Obtener los números de referencia y la ciudad de las cajas que están en ciudades que comienzan por la letra 'B'.

SELECT
    c.numreferencia,
    a.lugar
FROM
    almacenes AS a
JOIN
    cajas AS c ON c.almacen = a.codigo
WHERE
    a.lugar LIKE 'B%';

5. Modificaciones de Valor en la Tabla Cajas

5.1. Rebajar el Valor de Todas las Cajas un 15%

Se proponen dos métodos equivalentes para aplicar la rebaja:

Opción 1: Multiplicación Directa
UPDATE
    cajas
SET
    valor = valor * 0.85;
Opción 2: Resta del Porcentaje
UPDATE
    cajas
SET
    valor = valor - (valor * 0.15);

5.2. Rebajar un 20% el Valor de Cajas Superiores al Promedio

Rebajar un 20% el valor de todas las cajas cuyo valor sea superior al valor medio de todas las cajas.

Opción 1
UPDATE
    cajas
SET
    valor = valor * 0.80
WHERE
    valor > (SELECT AVG(valor) FROM cajas);
Opción 2
UPDATE
    cajas
SET
    valor = valor - (valor * 0.20)
WHERE
    valor > (SELECT AVG(valor) FROM cajas);

6. Eliminación Condicional de Registros

Eliminar todas las cajas cuyo valor sea inferior a 100.

DELETE FROM
    cajas
WHERE
    valor < 100;

Descargar

PDF Word HTML