11.09.2018 Views

Aprender a desarrollar un sitio Web con PHP y MySQL

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

La instrucción LEFT JOIN devuelve todos los datos de la tabla a la izquierda (Persona) incluso si no<br />

tienen correspondencia en la tabla de la derecha (Idiomas). <strong>MySQL</strong> rellena las zonas sin<br />

correspondencia <strong>con</strong> los valores NULL. La <strong>un</strong>ión externa se designa OUTER JOIN.<br />

La instrucción RIGHT JOIN devuelve todos los Idiomas, incluso si no tienen correspondencia en la tabla<br />

Persona, pero esto no tiene mucho sentido f<strong>un</strong>cional.<br />

Existe otra manera de escribir la <strong>un</strong>ión interna, a<strong>un</strong>que esta sintaxis está obsoleta:<br />

SELECT * FROM Persona,Idiomas WHERE Persona.Id_idioma = Idiomas.Id<br />

equivale a:<br />

SELECT * FROM Persona JOIN Idiomas ON Persona.Id_idioma = Idiomas.Id<br />

Puede añadir varias <strong>un</strong>iones.<br />

La sintaxis <strong>con</strong> las tres tablas llamadas tabla1, tabla2 y tabla3 <strong>con</strong> tabla1 <strong>un</strong>ida a la tabla2 <strong>con</strong> el<br />

Id_tabla2 y tabla2 <strong>un</strong>ida a la tabla3 <strong>con</strong> el Id_tabla3 es:<br />

SELECT *<br />

FROM Tabla1<br />

INNER JOIN Tabla2 ON Tabla1.Id_tabla2 = Tabla2.Id<br />

INNER JOIN Tabla3 ON Tabla2.Id_tabla3 = Tabla3.Id<br />

Puede combinar los filtros (WHERE), el orden (ORDER BY) y los alias <strong>con</strong> las <strong>un</strong>iones.<br />

Por ejemplo:<br />

Select Nombre, apellidos, Etiqueta as Idiomas<br />

FROM Persona<br />

LEFT JOIN Idiomas ON Persona.Id_idioma = Idiomas.Id<br />

WHERE apellidos LIKE ’%a%’ ORDER BY Nombre<br />

Muestra en orden alfabético los apellidos, el nombre y el idioma de las personas. El campo apellidos<br />

<strong>con</strong>tiene la cadena de caracteres ’a’:<br />

www.FreeLibros.me

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!