0% encontró este documento útil (0 votos)
9 vistas11 páginas

SQL Join

Cargado por

the animation
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas11 páginas

SQL Join

Cargado por

the animation
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

SQL Join

SQL Join

 Hasta ahora hemos utilizado una sola tabla para realizar consultas a la
base de datos, en la vida real, se trabaja con varias tablas.
 El lenguaje SQL tiene herramientas para evitar la repetición de datos y
ocupar menos espacio, se separa la información en varias tablas. Cada
tabla tendrá parte de la información total que queremos registrar.
 Por ejemplo, los datos de una tabla "libros" podría separarse en 2 tablas,
una "libros" y otra "editoriales" que guardará la información de las
editoriales. En nuestra tabla "libros" haremos referencia a la editorial
poniendo un código que la identifique.
SQL Join
De este modo, evitamos almacenar tantas veces los nombres de las editoriales y su dirección en la tabla "libros" y guardamos el nombre y su dirección en la tabla "editoriales"; para
Al recuperar los datos de los libros:
select * from libros;
vemos que en el campo "codigoeditorial" aparece el código, pero no sabemos el nombre de la editorial. Para obtener los datos de cada libro, incluyendo el nombre de la editorial y s

SQL Join

 De este modo, evitamos almacenar tantas veces los nombres de las


editoriales y su dirección en la tabla "libros" y guardamos el nombre y su
dirección en la tabla "editoriales"; para indicar la editorial de cada
libro agregamos un campo referente al código de la editorial en la tabla
"libros" y en "editoriales".
 Al recuperar los datos de los libros:

 select * from libros;


 vemos que en el campo "codigoeditorial" aparece el código, pero
no sabemos el nombre de la editorial. Para obtener los datos de cada
libro, incluyendo el nombre de la editorial y su dirección, necesitamos
consultar ambas tablas, traer información de las dos.
SQL Join

 De este modo, evitamos almacenar tantas veces los nombres de las


editoriales y su dirección en la tabla "libros" y guardamos el nombre y su
dirección en la tabla "editoriales"; para indicar la editorial de cada
libro agregamos un campo referente al código de la editorial en la tabla
"libros" y en "editoriales".
 Al recuperar los datos de los libros:

 select * from libros;


 vemos que en el campo "codigoeditorial" aparece el código, pero
no sabemos el nombre de la editorial. Para obtener los datos de cada
libro, incluyendo el nombre de la editorial y su dirección, necesitamos
consultar ambas tablas, traer información de las dos.
SQL Join

 Cuando obtenemos información de más de una tabla


decimos que hacemos un "join" (unión).

select * from libros join editoriales on


libros.codigoeditorial=editoriales.codigo
;
SQL Join
SQL Join

 Indicamos el nombre de la tabla luego del "from" ("libros"), unimos esa


tabla con "join" y el nombre de la otra tabla ("editoriales"), luego
especificamos la condición para enlazarlas con "on“, es decir, el campo
por el cual se combinarán. "on" hace coincidir registros de las dos tablas
basándose en el valor de algún campo, en este ejemplo, los códigos de
las editoriales de ambas tablas, el campo "codigoeditorial" de "libros"
y el campo "codigo" de "editoriales" son los que enlazarán ambas
tablas.
 Cuando se combina (join, unión) información de varias tablas, es
necesario indicar qué registro de una tabla se combinará con qué registro
de la otra tabla.
SQL Join

 Al nombrar el campo usamos el nombre de la tabla también.


 Cuando las tablas referenciadas tienen campos con igual
nombre, esto es necesario para evitar confusiones y
ambigüedades al momento de referenciar un campo.
 En este ejemplo, si no especificamos "editoriales.codigo" y
solamente tipiamos "codigo“ , MySQL no sabrá si nos
referimos al campo "codigo" de "libros" o de "editoriales".
SQL Join

 Si omitimos la referencia a las tablas al nombrar el


campo "codigo" (nombre de campo que contienen
ambas tablas):
select * from libros join editoriales on
codigoeditorial=codigo;
 Aparece un mensaje de error indicando que
"codigo" es ambiguo.
SQL Join

 Para simplificar la sentencia podemos usar un alias para


cada tabla (libros se llama l):
select * from libros as l join editoriales as e on
l.codigoeditorial=e.codigo;
 Cada tabla tiene un alias y se referencian los campos
usando el alias correspondiente.

También podría gustarte