Está en la página 1de 9

Unidad 2

Actividades de
aprendizaje

BASE DE DATOS II - JOIN

Tarea virtual 3
Cabrera Mora
Pedro
Gonzalo

Online ITB
Recurso de aprendizaje 1
Unidad 2
Actividades de
aprendizaje

Tarea virtual 3
Tema: JOIN

Objetivo: Realizar combinaciones de tablas

Actividades:

Combine las siguientes tablas mediante JOIN en SQL Developer (Oracle).


Las tablas que tiene que combinar son las siguientes:

En base a las tablas realice las siguientes combinaciones:

Online ITB
Recurso de aprendizaje 2
Unidad 2
Actividades de
aprendizaje

1. Utilizando INNER JOIN que devuelva todos los clientes con pedidos

Online ITB
Recurso de aprendizaje 3
Unidad 2
Actividades de
aprendizaje

2. Utilizando LEFT JOIN muestre todos los clientes, y cualquier pedido que pudieran haber
encargado

Online ITB
Recurso de aprendizaje 4
Unidad 2
Actividades de
aprendizaje

3. Utilizando RIGHT JOIN que devuelva todos los pedidos y nombres de los clientes que han
realizado un pedido

Online ITB
Recurso de aprendizaje 5
Unidad 2
Actividades de
aprendizaje

4. Utilizando FULL OUTER JOIN obtener todas las filas de las tablas Clientes y Pedidos

Online ITB
Recurso de aprendizaje 6
Unidad 2
Actividades de
aprendizaje

Documente sus consultas capturando las pantallas de entrada (script) y salidas (consultas)

CREATE TABLE clientes (


clienteid INTEGER NOT NULL,
nombre_cliente VARCHAR2(100 CHAR) NOT NULL,
contacto CHAR(9 CHAR) NOT NULL
);

ALTER TABLE clientes ADD CONSTRAINT clientes_pk PRIMARY KEY ( clienteid );

CREATE TABLE pedidos (


pedidoid INTEGER NOT NULL,
cod_factura VARCHAR2(3 CHAR) NOT NULL,
clienteid INTEGER
);

ALTER TABLE pedidos ADD CONSTRAINT pedidos_pk PRIMARY KEY ( pedidoid );

ALTER TABLE pedidos


ADD CONSTRAINT pedidos_clientes_fk FOREIGN KEY ( clienteid )
REFERENCES clientes ( clienteid );

CREATE SEQUENCE clientes_clienteid_seq START WITH 1 NOCACHE ORDER;

CREATE OR REPLACE TRIGGER clientes_clienteid_trg BEFORE


INSERT ON clientes
FOR EACH ROW
WHEN ( new.clienteid IS NULL )
BEGIN
:new.clienteid := clientes_clienteid_seq.nextval;
END;
/

CREATE SEQUENCE pedidos_pedidoid_seq START WITH 1 NOCACHE ORDER;

CREATE OR REPLACE TRIGGER pedidos_pedidoid_trg BEFORE


INSERT ON pedidos
FOR EACH ROW
WHEN ( new.pedidoid IS NULL )
BEGIN
:new.pedidoid := pedidos_pedidoid_seq.nextval;
END;
/

SELECT * FROM clientes


INNER JOIN pedidos
Online ITB
Recurso de aprendizaje 7
Unidad 2
Actividades de
aprendizaje

ON pedidos.clienteid = clientes.clienteid;

SELECT clientes.nombre_cliente, pedidos.pedidoid


FROM clientes
LEFT JOIN pedidos
ON clientes.clienteid = pedidos.clienteid;

SELECT pedidos.pedidoid, clientes.nombre_cliente


FROM clientes
RIGHT JOIN pedidos
ON clientes.clienteid = pedidos.clienteid;

SELECT clientes.clienteid, clientes.nombre_cliente, pedidos.pedidoid


FROM clientes FULL OUTER JOIN pedidos
ON (clientes.clienteid=pedidos.clienteid);

Online ITB
Recurso de aprendizaje 8
Unidad 2
Actividades de
aprendizaje

Orientaciones metodológicas:

Subir el archivo en PDF en la plataforma EVA:

▪ Poner nombre al archivo: JOIN

Bibliografía a consultar:
▪ Conferencia #3
▪ Charla magistral #2

Online ITB
Recurso de aprendizaje 9

También podría gustarte