Está en la página 1de 3

Visualizacin de datos de varias tablas

Objetivos
Despus de finalizar esta leccin, usted debera ser capaz de haga lo siguiente:
Escriba las instrucciones SEE!" para acceder a los datos de #$s de una tabla con la
igualdad % la no la igualdad une
&er los datos 'ue general#ente no cu#plen con una unin condiciones utilizando
co#binaciones e(ternas
)nase a una #esa a s #is#o #ediante el uso de un auto juntas
Obtencin de datos de varias tablas
E*+E,DOS------------------- DE+,.",*E/"OS
+roductos cartesianos
0n producto cartesiano se for#a cuando:
- 0na condicin de co#binacin se o#ite
- , condicin de unin no es v$lida
- "odas las filas de la pri#era tabla se unen a todas las filas de la segunda tabla
+ara evitar un producto cartesiano, sie#pre inclu%en un v$lido condicin de unin en
una cl$usula 12E.E3
4eneracin de un producto cartesiano

"ipos de uniones 5O6/S
Oracle +ropietario
5O6/ 78i % anteriores9:
E'uijoin
/on-e'uijoin
Outer join
Self join
S:: ;<<< !o#pliant 5oins:
!ross joins
/atural joins
0sing clause
=ull or t>o sided outer joins
,rbitrar% join conditions for outer joins
0nirse 0sando las tablas Oracle Sinta(is
0se una co#binacin de datos de la consulta de #$s de una tabla3
SELECT table1.column, table2.column
FRO table1, table2
!"ERE table1.column1 # table2.column2$
Escribe la condicin de co#binacin en la cl$usula 12E.E3
+refijo del no#bre de la colu#na con el no#bre de la tabla cuando se el #is#o
no#bre de la colu#na aparece en #$s de una tabla3
?:u es una unin de igualdad@
.ecuperacin de .egistros con co#binaciones de igualdad
SELECT em%lo&ees.em%lo&ee'id, em%lo&ees.last'name,
em%lo&ees.de%artment'id, de%artments.de%artment'id,
de%artments.location'id
FRO em%lo&ees, de%artments
!"ERE em%lo&ees.de%artment'id # de%artments.de%artment'id$
Otros !ondiciones de bAs'ueda 0tilizando el operador ,/D
!lasificacin a#bigua
/o#bres de colu#na
0tilice prefijos de tabla para calificar los no#bres de colu#na 'ue est$n en varias
tablas3
*ejorar el rendi#iento #ediante el uso de prefijos de tabla3
Distinguir las colu#nas 'ue tienen no#bres idnticos pero residir en diferentes tablas
#ediante alias de colu#na3
0sando alias de tabla
Si#plificar consultas utilizando alias de tabla3
*ejorar el rendi#iento #ediante el uso de prefijos de tabla3
SELECT e.em%lo&ee'id, e.last'name, e.de%artment'id,
d.de%artment'id, d.location'id
FRO em%lo&ees e , de%artments d
!"ERE e.de%artment'id # d.de%artment'id$
5unto a #$s de dos tablas
+ara unir tablas n 5oins, se necesita un #ni#o de n-; condiciones de unin3 +or
eje#plo, para juntar tres tablas, un #ni#o de dos uniones es necesario3
/o co#binaciones de igualdad

Salario de los E*+E,DOS tabla debe estar entre salario #$s bajo % el #$s alto
salarial en los 5OBC4.,DES tabla
.ecuperacin de .egistros con /o co#binaciones de igualdad
SELECT e.last'name, e.salar&, (.)rade'level
FRO em%lo&ees e, (ob')rades (
!"ERE e.salar&
*ET!EE+ (.lo,est'sal -+. (./i)/est'sal$
co#binaciones e(ternas 7Outer 5oins9
!o#binaciones e(ternas Sinta(is
Se utiliza una co#binacin e(terna de ver ta#bin las filas 'ue no cu#plir con la
condicin de unin3
El operador de co#binacin e(terna es el signo #$s 7D93
SELECT table1.column, table2.column
FRO table1, table2
!"ERE table1.column012 # table2.column$
SELECT table1.column, table2.column
FRO table1, table2
!"ERE table1.column # table2.column012$
0sando co#binaciones e(ternas 70sing Outer 5oins9
SELECT e.last'name, e.de%artment'id, d.de%artment'name
FRO em%lo&ees e, de%artments d
!"ERE e.de%artment'id012 # d.de%artment'id $
Self 5oins 7auto juntas9
*,/,4E.C6D en la tabla de los trabajadores es igual a
E#plo%eeCid en la tabla *,/,4E.3
0nirse a una tabla consigo #is#a75oining a "able to 6tself9
SELECT ,or3er.last'name 44 5 ,or3s 6or 5
44 mana)er.last'name
FRO em%lo&ees ,or3er, em%lo&ees mana)er
!"ERE ,or3er.mana)er'id # mana)er.em%lo&ee'id $
+r$ctica E, pri#era parte: &isin general
Esta pr$ctica cubre escribir consultas para unir tablas junto con la sinta(is de Oracle3

También podría gustarte