Tecnologia
TABLAS
Facultad Politécnica
Base de Datos II
1
Desplegando datos desde
múltiples tablas
Que es un JOIN?
Un JOIN (Reunión) se usa para consultar datos de más
de una tabla.
Se unen filas usando valores comunes, típicamente
claves primarias y foráneas o extranjeras.
Métodos de JOIN
Equijoin (Reunión Natural)
Non-equijoin (Reunión theta)
Outer join(Reunión Externa)
Self join
A partir de la versión de ORACLE 9i se incorpora la
sintaxis de SQL:1999
Facultad Politécnica
Base de Datos II
2
Relaciones entre las Tablas
B_LOCALIDAD
ID
B_PERSONAS
NOMBRE
Caazapá
ID_LOCALIDAD
7
Coronel Oviedo
6
10
Fernando de la Mora
12
CEDULA
6
Guarambaré
14
Lambaré
20
Pilar
NOMBRE
APELLIDO
JorgeAmado
Pereira Gonzalez
1207876
Roberto
Abente Gomez
20
2281987
Cristhian
Achucarro
12
1298876
Roque
Talavera
10
2209982
Ramon
Gauto
14
334654
Bienvenido
Alfonso Santos
883393
Mario Luis
Martinez
429987
Facultad Politécnica
Base de Datos II
7
3
Producto Cartesiano
Un producto Cartesiano se forma cuando:
Unacondición join se omite.
Una condición join es inválida.
En este caso, todos los registros en la primera tabla
se unen a todas las filas en la segunda tabla.
Para evitar un producto Cartesiano, siempre debe
incluir una condición válida en una cláusula WHERE.
Facultad Politécnica
Base de Datos II
4
Sintaxis de la Reunión con
una condición simple
SELECT
FROM
WHERE
•
•
•table.column, table.column
table1, table2
table1.column1 = table2.column2;
Escriba la condición JOIN en la cláusula WHERE.
Preceda cada nombre de la columna con el
nombre de la tabla para clarificar.
Utilizar prefijos para anteceder a los nombres de
las columnas, cuando el mismo nombre de
columna aparece en más de una tabla. El prefijo
utilizado es el alias de la tabla
FacultadPolitécnica
Base de Datos II
5
TENGA EN CUENTA:
Para reunir las tablas, se necesita un mínimo
de condiciones de join igual al número de
tablas menos 1.
Por ejemplo, para realizar operación de join de 4
tablas , se necesita 3 condiciones de join.
Facultad Politécnica
Base de Datos II
6
Utilización de seudónimos (alias)
para las tablas
Preceda las columnas con seudónimosde la tabla
para mejor identificación
El seudónimo solo es válido para esa declaración
SELECT.
Puede preceder las columnas con el nombre de la
tabla, pero si usa seudónimos, para esa tabla, debe
también referirse al seudónimo como prefijo de las
columnas.
SQL> SELECT c.nombre "Nombre Cliente",
2
c.id_localidad "ID Localidad",
3
l.nombre "Nombre Localidad"
4
FROM b_personas c,b_localidad l
5
WHERE c.id_localidad = l.id
6* AND
c.ES_CLIENTE = 'S';
Facultad Politécnica
Base de Datos II
7
Reunión Natural con sintaxis SQL:1999
• Un join Natural se basa en todas las columnas que
tienen el mismo nombre en las dos tablas.
Selecciona filas de las dos tablas que tienen valores
iguales en las columnas relevantes.
• Al especificar las columnas que forman parte de unNatural Join, no debe utilizarse alias para las tablas
ni para las columnas
SELECT tabla1.columna, tabla2.columna
FROM tabla1 NATURAL JOIN tabla2;
Facultad Politécnica
Base de Datos II
8
Reunión Natural con sintaxis SQL:1999.
Ejemplo:
COORDINACION
DEPARTAMENTO
ID
NOMBRE
ID_COORD
10
ADMINISTRACION
1
20
OPERACIONES
2
30
MARKETING
1
40SISTEMAS
2
ID_COORD
NOMBRE_COORDINACI
ON
1
ADMINISTRATIVA
2
TECNICA
SELECT id, nombre, id_coord, nombre_coordinacion
FROM departamento NATURAL JOIN coordinacion;
ID
NOMBRE
ID_COORD
NOMBRE_COORDINACION
10
ADMINISTRACION
1
ADMINISTRATIVA
20
OPERACIONES
2
TECNICA
30
MARKETING
1
ADMINISTRATIVA
40
SISTEMAS
2
TECNICA...
Regístrate para leer el documento completo.