Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / PHP y MySQL para gentes de letras - Anexo II: INNER JOIN, una instrucción muy util para juntar tablas

PHP y MySQL para gentes de letras - Anexo II: INNER JOIN, una instrucción muy util para juntar tablas

 ***** (16 opiniones)
Creative Commons Curso gratis de Coder - 08 de Marzo de 2006
Temas Relacionados: Diseño de bases de datosPHP
17. Anexo II: INNER JOIN, una instrucción muy util para juntar tablas

Muy bien, aprendices del Sql, hoy hablaremos de la instrucción INNER JOIN. Muy útil para casos concretos.
Primero de todo vamos a crear una situación hipotética:
Imaginemos que tenemos que hacer una web que contiene unos artículos en referencia a comentarios de novelas, y que son doce escritores de prestigio los que van introduciendo esas críticas.
Lo normal y más básico para un programador sería pensar en base de datos y lenguaje dinámico. Una buena elección podría ser trabajar con PHP y MySql (aunque para lo que voy a decir basta con una base de datos de tipo Sql).
Lo primero que nos viene a la mente es: haré una tabla, llamémosla criticas. En ella almacenaríamos cada artículo. Los campos básicos serían ID, Libro, Escritor (del libro, nunca confundir con el autor de la crítica), Editorial, año ... y Autor de la crítica.
Pero y si quisiéramos, como es normal, poner en la misma crítica una referencia al autor de la critica, aúnque sólo sea un pequeño texto biográfico? Tendríamos que repetir un mismo texto repetidas veces en la base (la biografia de doce autores en, pongamos 150 registros) y si quisieramos modificarlo y hubiera 70 entradas con ese autor... eso sería un desastre.
Entonces queda claro que hay que hacer una referencia a otra tabla que contenga a los autores, con sus respectivos datos. La tabla autores. Cada autor tendría su ID, su nombre y su biografía, además de otros datos como webpage, e-mail, bibliografía...
Algunos dirían: pues fácil, haces dos querys a la base. en uno le dices

|| Código: || || SELECT * FROM criticas WHERE ID ='37' ||


y en otra

|| Código: || || SELECT * FROM autores WHERE ... ||


where qué? tendrías que sacar una variable de sql a php, otra vez a sql...
Nada! Si alguien sugiere eso desconfiad de él y de su familia (es broma ;D) existe un método sencillo y eficaz: el INNER JOIN
Tan sencilla es la sentencia como:

|| Código: || || SELECT * FROM criticas INNER JOIN autores ON criticas.autor = autores.id WHERE criticas.id='7' ||


De esta forma estamos uniendo las dos tablas, cada vez que en criticas el autor sea n, en autores se unirá su correspondiente fila, con id=n.
Traduciendo al español la sentencia dice escatamente:

|| Código: || || SELECCIONA TODOS LOS CAMPOS UNIENDO criticas CON autores DONDE el campo autor de la tabla criticas SEA IGUAL A el campo id de la tabla autores EN EL REGISTRO EN QUE el id de criticas sea 7 ||



En definitiva, el inner join une dos tablas, donde encajan un campo de una con el mismo de la otra.
A partir de ahora las tablas se hacen más manejables y flexibles.
Y recordad!:
*Para seleccionar campos de cada tabla : tabla.campo universal en sql, dato importante.
*Estructura del inner join: SELECT campos FROM tabla1 INNER JOIN tabla2 ON tabla1.campo = tabla2.campo
*Antes de hacer barbaridades con vuestras bases de datos documentaos un poco, lo digo por experiencia ;)
(no usé fuentes concretas para realizar este didactico articulo, me baso en aprendizaje personal, pero en el google seguro que encuentras mucha informción del tema!)
Empezamos con buen pie el 2006 !
Autor y licencia de 'PHP y MySQL para gentes de letras - Anexo II: INNER JOIN, una instrucción muy util para juntar tablas'
Coder Extraído de: http://www.tomatoma.ws/subsecciones.php?forum_id=27&catid=22&todos=1

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'PHP y MySQL para gentes de letras - Anexo II: INNER JOIN, una instrucción muy util para juntar tablas'

Desde MySQL es posible realizar una consulta que devuelva los valores de una tabla que... Más »
Si nunca se te ha pasado por la imaginación que podrías llegar a programar, con... Más »
La instalación de estos programas es muy fácil, PHP y MySQL vienen comprimidos en formato... Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
PHP es un lenguaje en que usualmente el tipo de dato de una variable no... Más »
¿Estás seguro de que deseas eliminar este capítulo?