INNER JOIN
A partir de este momento, empezamos esa propiedad de las bases de datos relacionales y le damos la bienvenida a las uniones (JOINS es su nombre es inglés). Los tipos de uniones que podemos realizar sonINNER JOINS (Uniones Interiores) y LEFT JOINS (Uniones por la Izquierda).
Las uniones más comunes con las del tipo Interior, es decir, INNER JOINS, las cuales son las más sencillas. La forma en la que hacemos un INNER JOIN es simplemente especificando las columnas de las tablas de las que queremos hacer la consulta, escribiendo explícitamente la palabra INNER JOIN inmediatamente después, o simplemente escribiendo una coma entre la tabla uno y la tabla dos, posteriormente DEBEMOS especificar una condición “WHERE” a cumplir. Así por ejemplo, imaginemos la siguiente consulta:
SELECT gente.nombre, gente.apellido, empresa.sueldo, empresa.cargo FROM gente, empresa WHERE gente.cod_empleado = empresa.cod_empleado;
La consulta anterior le dice a MySQL que SELECCIONE de la tabla gente, tanto la columna nombre como la columna apellido; y de la tabla empresa, la columna sueldo y la columna cargo EN DONDE la columna cod_empleado de la tabla gente sea igual a la columna cod_empleado de la tabla empresa. Esta misma consulta podría haberse hecho de la siguiente manera:
SELECT gente.nombre, gente.apellido, empresa.sueldo, empresa.cargo FROM gente INNER JOIN empresa ON gente.cod_empleado = empresa.cod_empleado;
Como verán, la forma de especificar las tablas de donde estamos sacando la información es simplemente con un punto (.), especificando primero el nombre de la tabla y posteriormente el nombre de la columna, esto tanto después de la palabra SELECT, como después de la palabra WHERE.
on uniones en las que le pedimos a MySQL que nos muestre los datos contenidos en las tablas inmiscuidas en la consulta, sin importar que, por ejemplo, en un par de filas el valor nulo (NULL) aparezca.
Contrario a los INNER JOINS, los LEFT JOINS no pueden llevar una condicionante WHERE. Las razones son, claro está, que para cumplir una condicionante WHERE, la consulta debe arrojar solamente los resultados que concuerden exactamente con la condición, y nuestro deseo es precisamente lo contrario.
La sintaxis de los LEFT JOINS es bastante similar a la de los INNER JOINS, salvo que debemos utilizar la sentencia ON forzosamente, de la siguiente manera:
SELECT tabla1.columna1, tabla2.columna1 FROM tabla1 LEFT JOIN tabla2 ON tabla1.columna3 = tabla2.columna1;
Finalmente, como recomendación habremos de decir que los LEFT JOINS son herramientas que podemos utilizar en casos especiales. Sin embargo, debemos tener cuidado en el orden en el que especificamos las tablas en un LEFT JOIN, ya que si la tabla de la izquierda es la tabla que contiene,… digamos menos datos, y la de la derecha es la que contiene más, las filas que no concuerden serán ignoradas por MySQL.
RIGHT JOINs
Funciona de forma identica que los LEFT JOIN con la particularidad que toman como referencia los elementos de la derecha y no de izquierda.
No hay comentarios:
Publicar un comentario