Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/12/2009, 11:29
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ejercicio de mysql

1. Los INNER JOIN realizan una junta natural entre dos tablas, pero requieren especificar cuáles campos se van a relacionar, y sólo devuelve aquellos registros donde se cumple la relación. Los campos se deben especificar con la cláusula ON, si los campos tienen nombre diferente en cada tabla, o se pueden especificar con USING(campos), si en ambas tablas tiene el mismo nombre.
El USING() es más rápido que el ON, por lo que yo lo suelo preferir; además no requiere que sea un sólo campos. En realidad dentro de los paréntesis pueden ir todos los campos que se desea que se consideren en el JOIN al mismo tiempo. Eso si: todos los campos listados deben existir con esos nombres en ambas tablas.

2. La cláusula AS dejó de ser obligatoria hace años. Los DBMS la aceptan por cuestiones de compatibilidad con códigos viejos, pero ya no es necesario ponerla. El MySQL reconoce como alias cualquier palabra que siga a continuación del nombre de una base, una tabla o un campo.

Lo mejor que puedes hacer para comprender los INNER JOIN es leer el manual y ver algo más de SQL:
13.2.7.1. Sintaxis de JOIN

JOIN en SQL
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)