SQL Reunión interna y externa

Páginas: 10 (2313 palabras) Publicado: 21 de octubre de 2014
HYPERLINK "http://deletesql.com/viewtopic.php?f=5&t=21&start=0&sid=240920fb5ec967712128bb984b5dfafe" Reunión interna y externa (INNER / OUTER JOIN)
En la lección anterior se trató la operación de reunión entre tablas que guardan una relación. Existe una sintaxis más concreta para realizar la operación de reunión, donde la cláusula WHERE se usa únicamente para filtrar registros yno para reunir registros.
Reunión interna - cláusulas inner join / on Esta cláusula está diseñada precisamente para reunir registros de varias tablas, en ella intervienen las claves primarias y foráneas, y no intervienen, o lo hacen en la cláusula WHERE, los filtros propiamente dichos. Veamos una de las consultas que se expuso en la lección anterior usando esta sintaxis.Consulta que realiza lareunión entre los profesores y los cursos que imparte cada uno usando INNER JOIN / ON:
select * from CURSOS C inner join PROFESORES P on C.ID_PROFE = P.ID_PROFE 
ID_CURSO TITULO ID_PROFE ID_PROFE NOMBRE APELLIDOS F_NACIMIENTO
1 Programación PHP 3 3 Rosa Honrosa Pérez 1980-09-05
2 Modelos abstracto de datos 3 3 Rosa Honrosa Pérez 1980-09-05
3 SQL desde cero 1 1 Federico Gasco Daza 1975-04-23
4Dibujo técnico 2 2 Ana Saura Trenzo 1969-08-02
Si antes se dijo que el SGBD realiza el producto cartesiano entre dos tablas y posteriormente mediante la cláusula WHERE ignora aquellos registros que carecen de sentido y muestra los que guardan una relación, ahora podemos verlo del siguiente modo: el SGBD recorrerá la tabla hijo(CURSOS) y para cada uno asociará el registro de la tablapadre(PROFESORES) que satisface la cláusula ON. Para asociar el profesor no es necesario realizar, para cada curso, un recorrido secuencial sobre la tabla PROFESORES hasta encontrarlo, puesto que en la cláusula ON estamos indicando su clave primaria, por lo que el motor SQL usará el índice que la clave lleva implícito para localizar un profesor de forma mucho más eficiente. Igual que haría usted para localizarun capítulo concreto de un libro, usando el índice.
Algunos puristas afirman que este es el modo correcto de construir las consultas, porque el motor SQL trabaja de un modo más eficiente, a otros sin embargo les resulta incómodo o simplemente menos atractivo. Lo ideal sería que todo esto fuese transparente al desarrollador. El motor SQL debe interpretar la consulta y devolver el resultado de laforma más eficiente, obviamente realizando productos cartesianos y posteriormente filtrando los registros no es un método eficiente, pero esto es algo que consideramos en este curso como herramienta de aprendizaje o método de comprensión, y que en realidad los SGBD no hacen a no ser que no les quede más remedio, ya sea porque se lo pidamos explícitamente omitiendo la cláusula WHERE, no se hayanestablecido las relaciones, o sean poco "inteligentes". Dicho de otro modo, yo espero de un SGBD que sea eficaz no solo al ejecutar la consulta, sino al interpretarla y al elaborar un plan de ejecución adecuado y eficaz, y poder usar la sintaxis que más cómoda me resulte, sin tener que pensar si la consulta es costosa o no para el motor SQL. Desafortunadamente no siempre se podrá pasar esto por alto,en ocasiones se deberá optimizar la consulta para ayudar al SGBD a ser más eficiente. En cualquier caso la optimización queda fuera del alcance de este curso. Por ahora basta con que usted sepa que es importante crear las claves primarias y foráneas debidamente, tanto por una cuestión de eficiencia como de integridad referencial.
Veamos otro ejemplo de la lección anterior usando esta cláusula,concretamente del apartado de ejercicios, donde se pedía los cursos en que se ha matriculado el alumno con identificador 1:
select C.TITULO CURSO from ALUMNOS_CURSOS AC inner join CURSOS C
on AC.ID_CURSO = C.ID_CURSO where AC.ID_ALUMNO = 1
CURSO
Programación PHP
SQL desde cero
Observe como en la cláusula WHERE se establece un filtro propiamente dicho, y en la cláusula ON se establece la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Interno y externo
  • Medio interno y externo
  • Auditoria externa e interna
  • Clientes internos y externos
  • Medio interno y externo en las empresas
  • Auditor
  • Riesgos Internos Y Externos
  • Estructura Interna Y Externa De La Novela

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS