UNIVERSIDAD TECNOLÓGICA DEL PERÚ
Base de datos
Semana 6
INTEGRANTES:
1. Cacñahuaray Rondinel, Juan Yamil Cod.U22238559
Lima, 05 de mayo del 2024
Tarea semana 6
---- UNION DE TABLAS
---- UNION HORIZONTAL
---DUPLICAR TABAL PRODUCTO
--Creación de tabla DISTRITO
USE BDVENTA
CREATE TABLE DIST(
COD_DIS CHAR(5) NOT NULL PRIMARY KEY,
NOM_DIS VARCHAR(50) NOT NULL
)
-- Insertar datos en las tablas
INSERT INTO DIST VALUES('D01','SURCO')
INSERT INTO DIST VALUES('D02','JESUS MARIA')
INSERT INTO DIST VALUES('D03','SAN ISIDRO')
INSERT INTO DIST VALUES('D04','LA MOLINA')
INSERT INTO DIST VALUES('D05','SAN MIGUEL')
INSERT INTO DIST VALUES('D06','MIRAFLORES')
INSERT INTO DIST VALUES('D07','BARRANCO')
INSERT INTO DIST VALUES('D08','CHORRILLOS')
INSERT INTO DIST VALUES('D09','SAN BORJA')
-- Creando la tabla CLIENTE
CREATE TABLE CLIEN(
COD_CLI CHAR(5) NOT NULL PRIMARY KEY,
RSO_CLI CHAR(30) NOT NULL,
DIR_CLI VARCHAR(100)NOT NULL,
TLF_CLI CHAR(9) NOT NULL,
RUC_CLI CHAR(11) NULL,
COD_DIS CHAR(5) NOT NULL REFERENCES DISTRITO,
FEC_REG DATE NOT NULL,
TIP_CLI VARCHAR(10) NOT NULL,
CON_CLI VARCHAR(30) NOT NULL
)
--Insertando registros en CLIEN
INSERT INTO CLIEN VALUES('C001','FINSETH','AV. LOS VIÑEDOS
150','4342318','48632081','D05','12/10/2008','1','ALICIA BARRETO')
INSERT INTO CLIEN VALUES('C002','ORBI','AV. EMILIO CAVENECIA
225','4406335','57031642','D04','02/01/2013','2','ALFONSO BELTRAN')
INSERT INTO CLIEN VALUES('C003','SERVIEMSA','JR. COLLAGATE
522','75012403',NULL,'D05','06/03/2011','2','CHRISTIAN LAGUNA')
INSERT INTO CLIEN VALUES('C004','ISSA','CALLE LOS AVIADORES
263','3725910','46720159','D01','9/12/2012','1','LUIS APUMAYTA')
INSERT INTO CLIEN VALUES('C005','MASS','AV. TOMAS MARSANO
880','4446177','83175942','D14','10/01/2013','1','KATIA ARMEJO')
INSERT INTO CLIEN VALUES('C006','BERKER','AV. LOS PROCERES
521','3810322','54890124','D05','7/05/2013','1','JUDITH ASTE')
INSERT INTO CLIEN VALUES('C007','FIDENZA','JR. EL NIQUEL
282','5289034','16204790','D20','10/02/2012','2','HECTOR VIVANCO')
INSERT INTO CLIEN VALUES('C008','INTECH','AV. SAN LUIS 2619 5TO
P','2249493','34021824','D09','01/07/2011','2','CARLOS VILLANUEVA')
INSERT INTO CLIEN VALUES('C009','PROMINENT','JR. IQUIQUE
132','43233519',NULL,'D11','06/11/2010','1','JORGE VALDIVIA')
INSERT INTO CLIEN VALUES('C010','LANDU','AV.NICOLAS DE AYLLON
1453','3267840','30405261','D05','11/06/2013','2','RAQUEL ESPINOZA')
INSERT INTO CLIEN VALUES('C011','FILASUR','AV. EL SANTUARIO
1189','4598175','70345201','D26','08/04/2012','1','ANGELICA VIVAS')
INSERT INTO CLIEN VALUES('C012','SUCERTE','JR. GRITO DE HUAURA
114','4206434','62014503','D05','11/08/2011','1','KARINA VEGA')
INSERT INTO CLIEN VALUES('C013','HAYASHI','JR. AYACUCHO
359','42847990',NULL,'D22','03/09/2013','2','ERNESTO UEHARA')
--Repaso
-- 1. Consultar aquellos DISTRITOS que no albergan CLIENTES (LEFT / RIGHT)
SELECT * FROM DIST AS D
LEFT JOIN CLIEN AS C ON(C.COD_DIS=D.COD_DIS)
WHERE C.COD_DIS IS NOT NULL
-- 2. Consultar aquellos CLIENTES que no tienen DISTRITOS
SELECT * FROM DIST AS D
RIGHT JOIN CLIEN AS C ON(C.COD_DIS=D.COD_DIS)
WHERE D.COD_DIS IS NOT NULL
--3 . Unión OUTER JOIN
SELECT * FROM DIST AS D
FULL OUTER JOIN CLIEN AS C ON(C.COD_DIS=D.COD_DIS)
WHERE D.COD_DIS IS NULL OR C.COD_DIS IS NULL
-- LoS DISTRITOS que si albergan CLIENTES
SELECT * FROM DIST AS D
FULL OUTER JOIN CLIEN AS C ON(C.COD_DIS=D.COD_DIS)
WHERE D.COD_DIS IS NOT NULL AND C.COD_DIS IS NOT NULL
--Eso mismo
SELECT * FROM DIST AS D
INNER JOIN CLIEN AS C ON(C.COD_DIS=D.COD_DIS)
--Creación de tabla DISTRITO copia
CREATE TABLE DIST_COP(
COD_DIS CHAR(5) NOT NULL PRIMARY KEY,
NOM_DIS VARCHAR(50) NOT NULL
)
-- Insertar datos en las tablas
INSERT INTO DIST_COP VALUES('D10','LINCE')
INSERT INTO DIST_COP VALUES('D11','BREÑA')
INSERT INTO DIST_COP VALUES('D12','MAGDALENA')
INSERT INTO DIST_COP VALUES('D13','RIMAC')
INSERT INTO DIST_COP VALUES('D14','SURQUILLO')
INSERT INTO DIST_COP VALUES('D15','PUEBLO LIBRE')
INSERT INTO DIST_COP VALUES('D16','BELLAVISTA')
INSERT INTO DIST_COP VALUES('D17','CALLAO')
--Unión Horizontal
-- 2. UNION VERTICAL
--Creación de tabla con campos adicionales
CREATE TABLE DIST2(
COD_DIS CHAR(5) NOT NULL PRIMARY KEY,
POBLACION INT NOT NULL,
CLIMA VARCHAR(20) NOT NULL
)
--Verificamos tabla base de unión VERTICAL
SELECT * FROM DIST_COP
-- Insertar datos en las tablas
INSERT INTO DIST2 VALUES('D10',210, 'VARIADO')
INSERT INTO DIST2 VALUES('D11',300, 'CALOR')
INSERT INTO DIST2 VALUES('D12',450, 'FRIO')
INSERT INTO DIST2 VALUES('D13',600, 'CALOR')
INSERT INTO DIST2 VALUES('D14',180, 'VARIADO')
INSERT INTO DIST2 VALUES('D15',400, 'FRIO')
INSERT INTO DIST2 VALUES('D16',700, 'FRIO')
INSERT INTO DIST2 VALUES('D17',900, 'CALOR')
-- Unión VERTICAL
SELECT * FROM DIST
UNION
SELECT * FROM DIST_COP