Saltar al contenido

¿Cómo Hacer Combinaciones MySQL con Inner Join?

10 junio, 2019
Cómo Realizar MySQL Combinaciones con Inner Join Fácilmente

Las combinaciones son esenciales cuando hablamos de MySQL, teniendo en cuenta que gracias a ellas vamos a contar con la posibilidad de realizar todo tipo de consultas sobre tablas de una base de datos previamente generada.

Lo mejor de ellas es que permiten considerar varios criterios para conseguir un resultado en particular, una cuestión clave pensando en que muchas de estas consultas se realizan además sobre la construcción de una sentencia SQL, denominada predicado.

Si no sabes bien de qué estamos hablando o cómo aprovechar estas combinaciones, no te preocupes, ya que en las siguientes líneas vamos a enseñarte todos los detalles que deberás considerar en este tipos de casos.

Usar Combinaciones MySQL

Estas combinaciones MySQL, que son utilizadas por ejemplo en el caso de las universidades de programación, se vuelven útiles una vez que descomprimimos los archivos descargados, cuando aparecerán dos denominados sakila-schema.sql y sakila-data.sql.

Dentro de ellos se encuentra la estructura de la base de datos como así también los datos de ejemplo. En esta ocasión vamos a basarnos por ejemplo en una base de datos que pretende brindar un entorno de pruebas para desarrollo de software o consultas SQL.

Lo primero que debes considerar al respecto es que la estructura de Sakila no es para nada sencilla, ya que cuenta con cerca de 1000 registros además de una enorme cantidad de relaciones previas, con ejemplos de vistas, procedimientos almacenados, etc.

Hagamos de cuenta, por ejemplo, que esta conformación es como una cadena de tiendas de alquiler de películas que posee tanto varias sucursales como una enorme cantidad de vendedores por cada una de ellas.

Quien quiera alquilar una película, entonces, primero tendrá que confirmar que ésta se encuentre disponible o en stock, y a continuación también el vendedor revisar que forme parte de la base de datos para asignarnos el DVD. Y también hay talonarios de pago, saldos pendientes, etc.

En esta ocasión, por ejemplo, si queremos saber si el cliente existe, la consulta será algo como:

select customer.customer_id, customer.store_id, CONCAT(customer.first_name,’ ‘,customer.last_name) as Cliente

from customer

where customer.first_name like ‘Juan%

Ahora bien, a partir de ésto queremos enseñarte cuáles son las consultas que tenemos a disposición combinando todos los datos disponibles.

Cláusulas SQL Inner Join

Bien, como decíamos, una cláusula SQL JOIN se utiliza normalmente para combinar distintas filas a partir de dos o más tablas, aprovechando un campo en común que pueda llegar a existir entre ellas. Lo que hace el sistema es devolver sólo las que cumplen la condición de unión.

Vamos a ver un ejemplo siguiendo la tónica de la tienda de alquiler de películas que mencionábamos antes, de forma que no queden dudas acerca de los modos en los que podemos aprovechar esta herramienta.

Si por caso queremos saber cuáles son los clientes que alquilaron películas, lo primero que tenemos que hacer para eso es utilizar las tablas base que son la de Customer y la de Rental. Lo primero es conocer quiénes se encuentran dentro de la segunda de este modo:

select rental.rental_id,customer.first_name,customer.last_name,rental.rental_date,rental.return_date

from rental
INNER JOIN customer

ON rental.customer_id=customer.customer_id

En pantalla deberíamos observar, a partir de esto, un listado de los clientes que han rentado películas en las distintas tiendas.

Otra opción es hacer la consulta con un Where, aunque aquí puede que el procedimiento lleve algo más de tiempo:

select rental.rental_id,customer.first_name,customer.last_name,rental.rental_date,rental.return_date
from rental, customer

where rental.customer_id=customer.customer_id

Como puedes ver, tras instalar MySQL en tu ordenador tendrás una enorme cantidad de opciones disponibles para sacar provecho de esta plataforma, y ésta es sólo una de las tantas que hemos analizado en Miracomohacerlo.

¿Has podido utilizar las combinaciones de MySQL gracias a este tutorial?