You are on page 1of 24

Proyecto integrador de Base de

Datos
Oracle Baseball League
Profesor: M.C.C Derick Axel Lagunes Ramírez

Integrantes del equipo :

Nombre 1 Nombre 2 Apellido 1 Apellido 2


Josue Manuel Rosales Garcia
Xiomara Aidee Rodriguez Antonio
Sergio Jhoel Garduño Cruz
Ivan Avalos Salazar
Rodolfo Angel Flores Vergara

Grupo: 2°D

Para entregar el 19 de abril de 2024


Paso 1 (DDL):
BORRA LA BASE DE DATOS OBL QUE TENIAN ANTES Y VUELVAN A EJECUTAR EL SIGUIENTE SCRIPT

Script DDL
CREATE TABLE inventory_list (
id VARCHAR2(11) NOT NULL,
cost NUMBER(7,2) NOT NULL,
units NUMBER(4) NOT NULL,
CONSTRAINT inventory_list_pk PRIMARY KEY ( id )
);

CREATE TABLE items (


itm_number VARCHAR2(10) NOT NULL,
name VARCHAR2(20) NOT NULL,
description VARCHAR2(50) NOT NULL,
category VARCHAR2(25) NOT NULL,
color VARCHAR2(15),
"Size" CHAR(1),
ilt_id VARCHAR2(11) NOT NULL,
CONSTRAINT item_pk PRIMARY KEY ( itm_number )
);

CREATE TABLE price_history (


start_date DATE NOT NULL,
start_time DATE NOT NULL,
price NUMBER(7,2) NOT NULL,
end_date DATE,
end_time DATE,
itm_number VARCHAR2(10) NOT NULL,
CONSTRAINT price_history_pk PRIMARY KEY ( itm_number, start_date, start_time ),
CONSTRAINT price_history_items_fk FOREIGN KEY ( itm_number ) REFERENCES items ( itm_number )

);

CREATE TABLE sales_representatives (


id VARCHAR2(4) NOT NULL,
email VARCHAR2(50) NOT NULL,
first_name VARCHAR2(20) NOT NULL,
last_name VARCHAR2(30) NOT NULL,
phone_number VARCHAR2(11) NOT NULL,
commission_rate NUMBER(2) NOT NULL,
supervisor_id VARCHAR2(4) NOT NULL,
CONSTRAINT sales_representative_pk PRIMARY KEY ( id ),
CONSTRAINT sre_email_uk UNIQUE (email)
);

CREATE TABLE sales_rep_addresses (


id VARCHAR2(4) NOT NULL,
address_line_1 VARCHAR2(30) NOT NULL,
address_line_2 VARCHAR2(30),
city VARCHAR2(15) NOT NULL,
zip_code VARCHAR2(7) NOT NULL,
CONSTRAINT sales_rep_address_pk PRIMARY KEY ( id )
);

CREATE TABLE teams (


id VARCHAR2(4) NOT NULL,
name VARCHAR2(20) NOT NULL,
number_of_players NUMBER(2) NOT NULL,
discount NUMBER(2),
CONSTRAINT team_pk PRIMARY KEY ( id )
);

CREATE TABLE customers (


ctr_number VARCHAR2(6) NOT NULL,
email VARCHAR2(50) NOT NULL,
first_name VARCHAR2(20) NOT NULL,
last_name VARCHAR2(30) NOT NULL,
phone_number VARCHAR2(11) NOT NULL,
current_balance NUMBER(6,2) NOT NULL,
sre_id VARCHAR2(4),
tem_id VARCHAR2(4),
loyalty_card_number VARCHAR2(6),
CONSTRAINT customer_pk PRIMARY KEY ( ctr_number ),
CONSTRAINT ctr_email_uk UNIQUE (email),
CONSTRAINT ctr_lcn_uk UNIQUE (loyalty_card_number)
);

CREATE TABLE customers_addresses (


id VARCHAR2(8) NOT NULL,
address_line_1 VARCHAR2(30) NOT NULL,
address_line_2 VARCHAR2(30),
city VARCHAR2(15) NOT NULL,
zip_code VARCHAR2(7) NOT NULL,
ctr_number VARCHAR2(6) NOT NULL,
CONSTRAINT customer_address_pk PRIMARY KEY ( id )
);

CREATE TABLE orders (


id VARCHAR2(9) NOT NULL,
odr_date DATE NOT NULL,
odr_time DATE NOT
NULL,
number_of_units NUMBER(2) NOT NULL,
ctr_number VARCHAR2(6) NOT NULL,
CONSTRAINT orders_pk PRIMARY KEY ( id )
);

CREATE TABLE ordered_items (


quantity_ordered NUMBER(3) NOT NULL,
quantity_shipped NUMBER(3) NOT NULL,
itm_number VARCHAR2(10) NOT NULL,
odr_id VARCHAR2(9) NOT NULL,
CONSTRAINT ordered_item_pk PRIMARY KEY ( itm_number,odr_id )
);

ALTER TABLE customers_addresses ADD CONSTRAINT customer_address_customer_fk FOREIGN KEY ( ctr_number )


REFERENCES customers ( ctr_number );

ALTER TABLE customers ADD CONSTRAINT customer_sales_rep_fk FOREIGN KEY ( sre_id )


REFERENCES sales_representatives ( id );

ALTER TABLE customers ADD CONSTRAINT customer_team_fk FOREIGN KEY ( tem_id )


REFERENCES teams ( id );

ALTER TABLE items ADD CONSTRAINT item_inventory_list_fk FOREIGN KEY ( ilt_id )


REFERENCES inventory_list ( id );

ALTER TABLE orders ADD CONSTRAINT order_customer_fk FOREIGN KEY ( ctr_number )


REFERENCES customers ( ctr_number );

ALTER TABLE ordered_items ADD CONSTRAINT ordered_item_item_fk FOREIGN KEY ( itm_number )


REFERENCES items ( itm_number );

ALTER TABLE ordered_items ADD CONSTRAINT ordered_item_order_fk FOREIGN KEY ( odr_id )


REFERENCES orders ( id );

ALTER TABLE sales_rep_addresses ADD CONSTRAINT sales_rep_add_sales_rep_fk FOREIGN KEY ( id )


REFERENCES sales_representatives ( id );

ALTER TABLE sales_representatives ADD CONSTRAINT sales_rep_sales_rep_fk FOREIGN KEY ( supervisor_id ) REFERENCES sales_representatives ( id );

CREATE OR REPLACE TRIGGER fkntm_orders BEFORE


UPDATE OF ctr_number ON orders
BEGIN
raise_application_error(
-20225,
'Non Transferable FK constraint on table orders is violated'
);
END;
Preguntas 1 (DDL):

1. ¿Cuántas tablas se han creado utilizando la instrucción CREATE TABLE?

R: Se crearon 10 tablas

2. ¿Cuántas columnas se han creado para la tabla de historial de precios?

R: Se crearon 6 columnas

3. ¿Qué instrucción se utiliza para aplicar la restricción que especifica que la columna
de categoría de la tabla de ítems debe tener un valor?

R: NOT NULL.

4. ¿Cuál es el nombre de la restricción de clave externa entre las tablas de clientes y


direcciones de clientes?

R: Es “customer_address_customer_fk”

5. ¿Cuáles son los valores más bajos y más altos que se pueden almacenar en la
columna de tasa de comisión para la tabla de representantes de ventas?

R: Son 0 y 99

6. ¿Cuáles son los valores más bajos y más altos que se pueden almacenar en la
columna de precio para la tabla de historial de precios?

R: Son -9999999.99 y 9999999.99

7. ¿Cuáles son las 3 columnas que conforman la clave primaria para la tabla de
historial de precios?

R: Son “itm_number, start_date, y start_time”


Paso 2 (DDL):
Modifica columnas:

a) Agrega una restricción de valor defecto que va a utilizar la fecha del día de hoy para
asignarle un valor a la columna odr_date de la tabla orders.

Código SQL:

b) Pega aquí una captura de la ejecución del comando anterior.

c) Agrega una restricción check para que no se pueda agregar un current_balance menor a 0.

Código SQL:

d) Pega aquí una captura de la ejecución del comando anterior.


Agrega columnas:

a) Pega aquí una captura del resultado del comando DESCRIBE para la tabla CUSTOMERS.

b) Agrega una columna para el mobile_phone_number del cliente, el llenado de la columna


debe ser opcional y se requiere que guarde 11 dígitos.

Código SQL:

c) Pega aquí una captura del resultado del comando DESCRIBE para la tabla CUSTOMERS
para verificar la nueva columna.
Elimina columnas:

a) Pega aquí una captura del resultado del comando DESCRIBE para la tabla CUSTOMERS.

b) Elimina la columna que creaste en el ejercicio anterior para el mobile_phone_number del


cliente.

Código SQL:

c) Pega aquí una captura del resultado del comando DESCRIBE para la tabla CUSTOMERS
para verificar la eliminación de la columna.
Paso 3 (DML):
EJECUTAR EL SIGUIENTE SCRIPT

INSERT INTO inventory_list (id, cost, units)


Script DML
VALUES('il010230124', 2.5, 100);

INSERT INTO inventory_list (id, cost, units)


VALUES('il010230125', 7.99, 250);

INSERT INTO inventory_list (id, cost, units)


VALUES('il010230126', 5.24, 87);

INSERT INTO inventory_list (id, cost, units)


VALUES('il010230127', 18.95, 65);

INSERT INTO inventory_list (id, cost, units)


VALUES('il010230128', 97.46, 8);

INSERT INTO items (itm_number, name, description, category, color, "Size", ilt_id )
VALUES('im01101044', 'gloves', 'catcher mitt', 'clothing', 'brown', 'm', 'il010230124');

INSERT INTO items (itm_number, name, description, category, color, "Size", ilt_id )
VALUES('im01101045', 'under shirt', 'top worn under the game top', 'clothing', 'white', 's', 'il010230125');

INSERT INTO items (itm_number, name, description, category, color, "Size", ilt_id )
VALUES('im01101046', 'socks', 'team socks with emblem', 'clothing', 'range', 'l', 'il010230126');

INSERT INTO items (itm_number, name, description, category, color, "Size", ilt_id )
VALUES('im01101047', 'game top', 'team shirt with emblem', 'clothing', 'range', 'm', 'il010230127');

INSERT INTO items (itm_number, name, description, category, ilt_id )


VALUES('im01101048', 'premium bat', 'high quaity basball bat', 'equipment', 'il010230128');

INSERT INTO price_history (start_date, start_time, price, itm_number)


VALUES(TO_DATE('17-Jun-2017', 'DD-MM-YYYY'), TO_DATE('17-Jun-2016 09:00:00', 'DD-MM-YYYY hh24:mi:ss'), 4.99, 'im01101044');

INSERT INTO price_history (start_date, start_time, price, end_date, end_time, itm_number)


VALUES(TO_DATE('25-Nov-2016', 'DD-MM-YYYY'), TO_DATE('25-Nov-2016 09:00:00', 'DD-MM-YYYY hh24:mi:ss'), 14.99, TO_DATE('25-Jan-2017', 'DD-MM-YYYY'),
TO_DATE('25- Jan-2017 17:00:00', 'DD-MM-YYYY hh24:mi:ss'),'im01101045');

INSERT INTO price_history (start_date, start_time, price, end_date, end_time, itm_number)


VALUES(TO_DATE('25-Jan-2017', 'DD-MM-YYYY'), TO_DATE('25-Jan-2017 17:01:00', 'DD-MM-YYYY hh24:mi:ss'), 8.99, TO_DATE('25-Jan-2017', 'DD-MM-YYYY'), TO_DATE('25-Jan-
2017 19:00:00', 'DD-MM-YYYY hh24:mi:ss'),'im01101045');

INSERT INTO price_history (start_date, start_time, price, itm_number)


VALUES(TO_DATE('26-Jan-2017', 'DD-MM-YYYY'), TO_DATE('26-Jan-2017 09:00:00', 'DD-MM-YYYY hh24:mi:ss'), 15.99, 'im01101045');

INSERT INTO price_history (start_date, start_time, price, itm_number)


VALUES(TO_DATE('12-Feb-2017', 'DD-MM-YYYY'), TO_DATE('12-Feb-2017 12:30:00', 'DD-MM-YYYY hh24:mi:ss'), 7.99, 'im01101046');

INSERT INTO price_history (start_date, start_time, price, itm_number)


VALUES(TO_DATE('25-Apr-2017', 'DD-MM-YYYY'), TO_DATE('25-Apr-2017 10:10:10', 'DD-MM-YYYY hh24:mi:ss'), 24.99, 'im01101047');

INSERT INTO price_history (start_date, start_time, price, itm_number)


VALUES(TO_DATE('31-May-2017', 'DD-MM-YYYY'), TO_DATE('31-May-2017 16:35:30', 'DD-MM-YYYY hh24:mi:ss'), 149.00, 'im01101048');

INSERT INTO sales_representatives (id, email, first_name, last_name, phone_number, commission_rate, supervisor_id)
VALUES('sr01', 'chray@obl.com', 'Charles', 'Raymond', '0134598761', 10, 'sr01');

INSERT INTO sales_representatives (id, email, first_name, last_name, phone_number, commission_rate, supervisor_id)
VALUES('sr02', 'vwright@obl.com', 'Victoria', 'Wright', '0134598762', 5, 'sr01');

INSERT INTO sales_representatives (id, email, first_name, last_name, phone_number, commission_rate, supervisor_id)
VALUES('sr03', 'bspeed@obl.com', 'Barry', 'Speed', '0134598763', 5, 'sr01');

INSERT INTO sales_rep_addresses (id, address_line_1, address_line_2, city, zip_code )


VALUES('sr01', '12 Cherry Lane', 'Denton', 'Detroit', 'DT48211');

INSERT INTO sales_rep_addresses (id, address_line_1, address_line_2, city, zip_code )


VALUES('sr02', '87 Blossom Hill', 'Uptown', 'Detroit', 'DT52314');

INSERT INTO sales_rep_addresses (id, address_line_1, address_line_2, city, zip_code )


VALUES('sr03', '12 Junction Row', 'Skinflats', 'Detroit', 'DT52564');

INSERT INTO teams (id, name, number_of_players, discount)


VALUES('t001', 'Rockets', 25, 10);

INSERT INTO teams (id, name, number_of_players, discount)


VALUES('t002', 'Celtics', 42, 20);

INSERT INTO teams (id, name, number_of_players, discount)


VALUES('t003', 'Rovers', 8, null);

INSERT INTO customers (ctr_number, email, first_name, last_name, phone_number, current_balance, sre_id, tem_id, loyalty_card_number)
VALUES('c00001', 'bob.thornberry@heatmail.com', 'Robert', 'Thornberry', '01234567898', 150.00, 'sr01', 't001', null);

INSERT INTO customers (ctr_number, email, first_name, last_name, phone_number, current_balance, loyalty_card_number)
VALUES('c00012', 'Jjones@freemail.com', 'Jennifer', 'Jones', '01505214598', 0.00, 'lc1015');

INSERT INTO customers (ctr_number, email, first_name, last_name, phone_number, current_balance, sre_id, tem_id)
VALUES('c00101', 'unknown@here.com', 'John', 'Doe', '03216547808', 987.50, 'sr01', 't002');

INSERT INTO customers (ctr_number, email, first_name, last_name, phone_number, current_balance, loyalty_card_number)
VALUES('c00103', 'MurciaA@globaltech.com', 'Andrew', 'Murcia', '07715246890', 85.00, 'lc2341');

INSERT INTO customers (ctr_number, email, first_name, last_name, phone_number, current_balance, sre_id, tem_id)
VALUES('c01986', 'margal87@delphiview.com', 'Maria', 'Galant', '01442736589', 125.65
, 'sr03', 't003');

INSERT INTO customers_addresses (id, address_line_1, address_line_2, city, zip_code, ctr_number)


VALUES('ca0101', '83 Barrhill Drive', null, 'Liverpool', 'LP79HJK', 'c00001');

INSERT INTO customers_addresses (id, address_line_1, address_line_2, city, zip_code, ctr_number)


VALUES('ca0102', '17 Gartsquare Road', 'Starford', 'Liverpool', 'LP89JHK', 'c00001');

INSERT INTO customers_addresses (id, address_line_1, address_line_2, city, zip_code, ctr_number)


VALUES('ca0103', '54 Ropehill Crescent', 'Georgetown', 'Star', 'ST45AGV', 'c00101');

INSERT INTO customers_addresses (id, address_line_1, address_line_2, city, zip_code, ctr_number)


VALUES('ca0104', '36 Watercress Lane', null, 'Jump', 'JP23YTH', 'c01986');

INSERT INTO customers_addresses (id, address_line_1, address_line_2, city, zip_code, ctr_number)


VALUES('ca0105', '63 Acacia Drive', 'Skins', 'Liverpool', 'LP83JHR', 'c00001');

INSERT INTO orders (id, odr_date, odr_time, number_of_units, ctr_number)


VALUES('or0101250', TO_DATE('17-Apr-2017', 'DD-MM-YYYY'), TO_DATE('17-Apr-2017 08:32:30', 'DD-MM-YYYY hh24:mi:ss'), 10, 'c00001');

INSERT INTO orders (id, odr_date, odr_time, number_of_units, ctr_number)


VALUES('or0101350', TO_DATE('24-May-2017', 'DD-MM-YYYY'), TO_DATE('24-May-2017 10:30:35
', 'DD-MM-YYYY hh24:mi:ss'), 5, 'c00001');

INSERT INTO orders (id, odr_date, odr_time, number_of_units, ctr_number)


VALUES('or0101425', TO_DATE('28-May-2017', 'DD-MM-YYYY'), TO_DATE('28-May-2017 12:30:00
', 'DD-MM-YYYY hh24:mi:ss'), 18, 'c00103');

INSERT INTO orders (id, odr_date, odr_time, number_of_units, ctr_number)


VALUES('or0101681', TO_DATE('02-Jun-2017', 'DD-MM-YYYY'), TO_DATE('02-Jun-2017 14:55:30
', 'DD-MM-YYYY hh24:mi:ss'), 10, 'c00001');

INSERT INTO orders (id, odr_date, odr_time, number_of_units, ctr_number)


VALUES('or0101750', TO_DATE('18-Jun-2017', 'DD-MM-YYYY'), TO_DATE('18-Jun-2017 09:05:00
', 'DD-MM-YYYY hh24:mi:ss'), 1, 'c01986');

INSERT INTO ordered_items (quantity_ordered, quantity_shipped, odr_id, itm_number)


VALUES(5, 5, 'or0101250', 'im01101044');

INSERT INTO ordered_items (quantity_ordered, quantity_shipped, odr_id, itm_number)


VALUES(5, 5, 'or0101250', 'im01101046');

INSERT INTO ordered_items (quantity_ordered, quantity_shipped, odr_id, itm_number)


VALUES(5, 5, 'or0101350', 'im01101044');

INSERT INTO ordered_items (quantity_ordered, quantity_shipped, odr_id, itm_number)


VALUES(18, 18, 'or0101425', 'im01101047');

INSERT INTO ordered_items (quantity_ordered, quantity_shipped, odr_id, itm_number)


VALUES(10, 10, 'or0101681', 'im01101047');

INSERT INTO ordered_items (quantity_ordered, quantity_shipped, odr_id, itm_number)


VALUES(1, 1, 'or0101750', 'im01101048');

NOTA: Los siguientes ejercicios ya los habíamos dejado de tarea alguna vez, algunos no
los realizaron correctamente, léanlos atentamente y resuélvanlos en equipo.
Paso 4 (DML):
a) Pega aquí una captura de pantalla de una selección de toda la información de la tabla
teams.

b) Agrega un nuevo equipocon la siguiente información: id = t004, name =Jets,


Number_of_players = 10, discount = 5

Código SQL:

c) Pega aquí una captura de pantalla de una selección de toda la información de la tabla
teams donde se observe la nueva fila insertada.
d) Pega aquí una captura de pantalla de una selección de toda la información de la tabla
customers.

e) Agrega un nuevo cliente con los siguientes datos: ctr_number = c02001, email
= brianrog@hootech.com, First_name = Brian, Last_name = Rogers,
Phone_number = 01654564898, Current_balance = -5,
Loyalty_card_number = lc4587

Código SQL:

f) Vas a observar que ocurre un error de violación de una restricción CHECK, y esto evita la
inserción del nuevo cliente. Cambia la inserción para que el
current_balance sea 50 y vuelve a correr la sentencia (esta vez debe insertar correctamente los
datos).

Código SQL:

g) Pega aquí una captura de pantalla de una selección de toda la información de la tabla
customers donde se observe la nueva fila insertada.
Nota: Para el siguiente ejercicio debes entender como funciona una tabla que guarda el histórico de
datos en una base de datos. Donde gracias a los datos de las fechas, podemos saber por ejemplo cuando
un producto tuvo un precio diferente. Por ejemplo, si hay un registro de fecha de inicio del 5 de abril
con $200 pero también hay un registro del 8 de abril con $250 entonces significa que ese producto
tiene el precio de la fecha más próxima a hoy y también sabemos que antes del 8 de abril costaba $200.

h) Pega aquí una captura de pantalla de una selección de toda la información de la tabla
price_history.

i) OBL va a actualizar el precio del item "premium bat", debes escribir una sentencia que
actualice los valores de end_date y end_time en el registro del precio viejo (el que ahorita
está pero va a acambiar). Para lograr esto necesitaras una condicional que use el ítem_number
y que identifique que la fecha de fin (end_date) este vacia, osea en null. Esto asegura que
vas a actualizar el ultimo precio disponible.

Código SQL:

j) Ahora inserta el nuevo precio del "premium bat", recuerda que esto significa insertar una
nueva fila en Price_history, usa SYSDATE() para insertar la fecha actual y ponle un
precio de 99.99

Código SQL:

k) Pega aquí una captura de pantalla de una selección de toda la información de la tabla
price_history donde se observe la modificación al precio anterior y el nuevo precio del bat.
l) Pega aquí una captura de pantalla de una selección de toda la información de la tabla
customers_addresses.

m) 'Bob Thornberry' le llamo a la empresa de OBL y le dijo que ya no podra recibir paquetes en la
dirección: '83 Barrhill Drive'. Escribe una sentencia SQL que quite esa dirección de la base
de datos (recuerda que los clientes pueden tener multiples direcciones asi que no borres todas
las del señor Thornberry, solo la que nos pidió remover)

Código SQL:

n) Pega aquí una captura de pantalla de una selección de toda la información de la tabla
customers_addresses donde se observe que ya no existe la dirección '83 Barrhill Drive'.
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.

Paso 5 (DQL):
a) Selecciona toda la información de la tabla customers.

Código SQL:

b) Selecciona toda la información de la tabla teams.

Código SQL:

c) Selecciona toda la información de la tabla ítems.

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.
d) Muestra el número de cliente, el nombre, el apellido, el correo y el número de
teléfono de la tabla customers.

Código SQL:

e) Muestra el nombre y el número de jugadores de los equipos.

Código SQL:

f) Muestra el nombre, descripción y categoría para cada ítem.

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.
g) Para cada cliente, el campo de current_balance corresponde al dinero que le deben a la
tienda de OBL, escribe una sentencia que retorne el nombre, el apellido, el current balance y
una columna llamada ‘monthly_payment’ donde se muestre cuanto pagarían los clientes a
12 mensualidades (current_balance/12).

Código SQL:

h) OBL va a otorgar tarjetas de regalo de $5 (5.00) que pueden ser usadas para reducir su
deuda ‘current_balance’, Escribe una sentencia que muestre el nombre apellido, número de
cliente, current_balance y una columna donde se muestre su current_balance menos el valor
de la tarjeta de regalo.

Código SQL:

i) Del ejercicio g anterior, se requiere poner alias a las columnas para visualizarlas mejor. Muestra
la misma sentencia, pero de tal forma que las columnas se muestren como: “Primer Nombre”,
“Apellido”, “Deuda” y “Pagos Mensuales” (respetando mayúsculas y minúsculas).

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.
j) Usando el número de cliente único en una cláusula WHERE muestra todas las columnas
para la cliente Maria Galant.

Código SQL:

k) Muestra el nombre, el apellido y el número de cliente para todos los clientes que tienen
un current_balance mayor a 100.

Código SQL:

l) Muestra el id de la orden, fecha y tiempo de todas las ordenes que se pidieron antes del
28 de mayo de 2019.

Código SQL:

m) Muestra el id del inventario, el costo y el número de unidades para todos los ítems que
tienen un costo de entre 3000 y 15000.

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.
n) Muestra el id de inventario, el costo y el número de unidades de todos los ítems que tengan
50,100,150 o 200 unidades en stock.

Código SQL:

o) Muestra el id de inventario, el costo y el número de unidades de todos los ítems que


NO tengan 50,100,150 o 200 unidades en stock.

Código SQL:

p) Muestra el número de ítem y el nombre de todos los ítems que tienen un nombre que
empieza con ‘g’.

Código SQL:

q) Muestra el número de ítem y el nombre de todos los ítems cuyo nombre contiene una ‘o’.

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.
r) Muestra el nombre de los equipos que NO tienen descuentos

Código SQL:

s) Muestra el nombre de los equipos que SI tienen descuentos

Código SQL:

t) Escribe una consulta que muestre el número de cliente, la línea de dirección 1 y el código
postal para los clientes que viven en la zona de starford en Liverpool.

Código SQL:

u) Escribe una sentencia para mostrar el numero de cliente, la línea de dirección 1 y el código
postal de los clientes que viven ya sea en starford o Liverpool.

Código SQL:

v) Escribe una consulta que muestre el número de cliente, la línea de dirección 1 y el código
postal para los clientes que NO viven en Liverpool.

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.
w) Muestra el nombre del equipo y el número de jugadores ordenando la información
alfabéticamente por el nombre del equipo.

Código SQL:

x) Muestra el nombre del equipo y el número de jugadores ordenado la información por el


número de jugadores de manera descendente.

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.
y) Muestra toda la información de los representantes de ventas y sus direcciones usando un
natural join.

Código SQL:

z) Adapta la sentencia anterior para mostrar el id, nombre, apellido, línea de dirección 1, línea
de dirección 2, ciudad, email y número de teléfono de los representantes de ventas (manteniendo
el join natural).

Código SQL:

aa) Muestra toda la información de los ítems y su historial de precio uniendo sus respectivas tablas
con un inner join.

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.

bb) Utiliza una cláusula ON para unir la tabla de clientes y la tabla de representantes de ventas de
modo que muestre el número de cliente, el primer nombre del cliente, el apellido del cliente, el
número de teléfono del cliente, el correo electrónico del cliente, el ID del representante de
ventas, el primer nombre del representante de ventas, el apellido del representante de ventas y el
correo electrónico del representante de ventas. Necesitará utilizar un alias de tabla en su
respuesta ya que ambas tablas tienen columnas con el mismo nombre.

Código SQL:

cc) Usando el enunciado anterior (bb), agrega otro join que perita mostrar el nombre del equipo que
representa al cliente.

Código SQL:

dd) Usando el enunciado anterior (cc), agrega una condición a la sentencia que muestre solo los
resultados para el cliente con el numero ‘c00001’.

Código SQL:
ATENCIÓN: Para estos ejercicios Pon el código SQL y una captura de la tabla
resultante.

ee) Escribe una consulta SQL que muestre el nombre y el costo que tenía el ítem con el número
‘im01101045’ el 12 de diciembre de 2016.

Código SQL:

ff) Escribe una consulta que muestre quién es el supervisor de cada uno de los representantes de
ventas. La información debe mostrarse en dos columnas, la primera columna será el nombre
y apellido del representante de ventas y la segunda será el nombre y apellido del supervisor.
Los alias de columna deben ser Rep y Supervisor.

Código SQL:

gg) Escribe una consulta que muestre toda la información de los clientes y sus equipos incluyendo
la información de los equipos que no tienen relación con la tabla clientes.

Código SQL:
hh) Muestra el producto cartesiano de cliente con representantes de ventas.

Código SQL:

You might also like