| |||
Acerca de join He estado leyendo acerca de la sentencia JOIN pero no entiendo nada. Alguien me podria explicar en lenguaje coloquial cual es la funcion de esta sentencia y como utilizarla. muchas gracias |
| |||
Respuesta: Acerca de join Sirve para establecer la relacion entre dos tablas en una consulta. Supongo que hasta aquí no te digo nada nuevo. tabla1 [modificador] JOIN tabla2 ON tabla1.campoX=tabala2.campoY donde modificador puede ser INNER, LEFT, RIGHT u otros más especificos pero si entiendes estos luego puedes entender los otros (ademas no los implementan todos los motores). INNER es la opción por omisión, es decir que si no se pone ningun modificador va a aplicar INNER. Bien, con INNER la consulta tendra en cuenta las parejas de registros que cumplan la condición establecida en la clausula ON, en este caso donde se cumpla que el campoX de la tabla 1 sea igual que el campoY de la tabla 2. LEFT en este caso la consulta nos dara TODOS los registros de la tabla de la izquierda es decir en este caso tabla1 tengan o no pareja en la tabla2. RIGHT igual que LEFT pero con la tabla derecha, es decir tabla2 en este caso. Cosas a tener en cuenta si el contenido de los campos de la clausula ON no son unicos, evidentemente la conbinación puede llegar a generar mas parejas que registros originales.
Código:
Te dejo para que pienses que pasa si hay repeticiones en uno de los campos de la relación.Tabla1 CampoX CampoZ 1 AAA 2 BBBB 3 CCC Tabla2 CampoY CampoA 1 25 2 30 4 50 Select Tabla1.CampoX, Tabla2.CampoY, Tabla1.CampoZ, Tabla2.CampoA FROM tabla1 [modificador] JOIN tabla2 ON tabla1.campoX=tabla2.campoY; Resultado INNER CampoX CampoY CampoZ CampoA 1 1 AAA 25 2 2 BBBB 30 Resulado LEFT CampoX CampoY CampoZ CampoA 1 1 AAA 25 2 2 BBBB 30 3 nulo CCC nulo Resultado RIGHT CampoX CampoY CampoZ CampoA 1 1 AAA 25 2 2 BBBB 30 nulo 4 nulo 50 Quim |