1. Instituto Polit´ecnico Nacional
Escuela Superior de Computo
Bases de Datos
Pr´actica 6
Alumno:
Jos´e Ricardo P´erez P´erez
Profesora:
M. en C. Idalia Maldonado Castillo
Grupo:
2CV7
10 de abril del 2013
3. Introducci´on.
El uso de los Join en las bases de datos nos permite relacionar informaci´on
de cada una de nuestras tablas a manera de que sea mas eficiente la lectura de
estas dependiendo de la informaci´on en particular que requieramos, aunque
en algunos casos nos parezca confuso el uso del INNER JOIN, LEFT JOIN
o RIGHT JOIN cada uno es independiente y tiene una funci´on caracter´ıstica
aunque el principio sea el mismo. Las transacciones de informaci´on por
medio de los JOIN nos da una mejor eficiencia en la consulta de datos y
en las organizaci´on dependiendo de la informaci´on que requieramos claro,
utilizando la sintaxis correcta.
3
4. Realizaci´on de la pr´actica 6.
En est´a Pr´actica se trabajara con la base de datos de COSTCO de la
pr´actica 5.
El objetivo de est´a pr´actica es resolver las consultas por medio de los difer-
entes comandos join.
Realizar los siguientes puntos usando comandos de SQL.
1)Agregar 2 nuevos socios con los siguientes nombres y que sean miem-
bros de la sucursal Los Cabos y Morelia respectivamente.
Carmen Blanco Acosta
Anabel Osorio
Para agregar los nuevos socios utilizaremos las consulta:
INSERT INTO tabla1(columna1,columna2,...,columnan) VALUES
(valor1,valor2,...,valorn);
4
5. 2)Agregar 2 sucursales mas:
• Sucursal:ACAPULCO
• Direcci´on: AV. SOLIDARIDAD 34,Col. GRANJAS DEL MARQUEZ
ACAPULCO,GRO. C.P.39907
• Estado: GUERRERO
• Tel´efono:01(744)434-03-00
• Fecha Apertura:10-sep-94
• Sucursal:CANCUN
• Direcci´on: Col.BENITO JUAREZ CANCUN,QUINTANA ROO C.P.77500
• Estado: QUINTANA ROO
• Tel´efono:01(998)881-02-50
• Fecha Apertura:23-sep-99
Utlizaremos la consulta:
INSERT INTO tabla1(columna1,columna2,...,columnan) VALUES
(valor1,valor2,...,valorn);
5
6. 3)Hacer el CROSS JOIN de las relaciones GERENTE y SUCURSAL
Utlizaremos la consulta:
SELECT * FROM TABLA1 CROSS JOIN TABLA2;
6
7. 4)Mostrar toda la informaci´on de los productos con su respectivo provee-
dor usando join.
Utlizaremos la consulta:
SELECT * FROM TABLA1 ALIAS1 INNER JOIN TABLA2 ALIAS2 ON
ALIAS1.Columnax = ALIAS2.Columnax;
5)Muestre el Nombre del gerente y la sucursal del que es gerente mostrando
los atributos como Gerente y Sucursal.
SELECT alias1.Columna1 AS TABLA1 , alias2.columna2 AS TABLA2
FROM TABLA1 alias1 RIGHT JOIN TABLA2 alias2 ON
alias1.columnaencomun=alias2.columnaencomun;
7
8. 6)Mostrar todos los proveedores y los productos que tienen asociados us-
ando inner join.
SELECT alias1.Columna1 AS TABLA1 , alias2.columna2 AS TABLA2
FROM TABLA1 alias1 INNER JOIN TABLA2 alias2 ON
alias1.columnaencomun=alias2.columnaencomun;
8
9. 7)Mostrar todos los Proveedores con sus respectivos productos,aunque no
tengan productos asociados,usa left join.
SELECT alias1.Columna1 AS TABLA1 , alias2.columna2 AS TABLA2
FROM TABLA1 alias1 LEFT JOIN TABLA2 alias2 ON
alias1.columnaencomun=alias2.columnaencomun;
8)Mostrar todas las sucursales con sus respectivos gerentes,aunque no ten-
gan gerentes asociados,usa RIGHT JOIN.
SELECT alias1.Columna1 AS TABLA1 , alias2.columna2 AS TABLA2
FROM TABLA1 alias1 RIGHT JOIN TABLA2 alias2 ON
alias1.columnaencomun=alias2.columnaencomun;
9
10. 9)Mostrar todos los proveedores y sus productos,aunque no tengan pro-
ductos asociados usa OUTER JOIN.
SELECT * FROM TABLA1 LEFT OUTER JOIN TABLA2 ON
TABLA1.columnaencomun=TABLA2.columnaencomun;
10
11. 10)Hacer el join de los soscios de cada sucursal mostrando los datos de
los socios y de la sucursal.
SELECT * FROM TABLA1 INNER JOIN TABLAIn ON
TABLA1.columnaencomun1=TABLAIn.columnaencomun1 INNER JOIN
TABLA2 ON TABLAIn.columnaencomun2 = TABLA2.columnaencomun2;
11)Hacer el join de los socios de cada sucursal mostrando solo el nombre
de la sucursal como SUCURSAL y los socios como SOCIO.
SELECT alias1.Columna1 AS TABLA1,alias2.Columna2 AS TABLA2
FROM TABLA1 alias1 JOIN TABLAIn alias3 ON alias1.columnaencomun
= alias3.columnaencomun JOIN TABLA2 alias2 ON
alias2.columnaencomun = alias3.columnaenconum ;
11
12. 12)Mostrar el nombe de los gerentes que tambien son socios usando IN-
TERSECT.
SELECT columna1 FROM TABLA1 INTERSECT SELECT Columna2
FROM TABLA2;
12
13. 13)Renombrar el atributo direccion de la tabla sucursal a DireccionSucur-
sal.
EXEC sp rename ’TABLA1.columnadeseada’,’nuevonombre’,’COLUMN’;
14)Renombrar la tabla SUCURSAL A SUCURSAL COSTCO.
EXEC sp rename ’TABLA’,’nuevonombretabla’;
13
14. Conclusi´ones.
En Conclusi´on el uso de los Join nos permite organizar de manera es-
pec´ıfica la informaci´on de nuestras tablas, aunque a veces nos sea un poco
confuso el uso de los alias en las consultas no es muy importante, mas en
los casos cuando tenemos una relacion de dos llaves primarias con una llave
foranea y tendremos que utilizar n joins dependiendo del recorrido de tablas
que tengamos que hacer. Aunque fue un poco confusa esa parte fue intere-
sante ya que la sintaxis te dice absolutamente la solucion de una manera
explicita si es que la lees con atenci´on.
14