Usando MySQL Left Join

Usando MySQL Left Join
Una de las cláusulas útiles de MySQL es unirse. Se usa para recuperar datos de dos o más tablas relacionadas. Mysql contiene principalmente dos tipos de unión. Uno es Inner Union y otro es Outer Join. La unión externa se divide nuevamente en una unión izquierda y a la derecha. Este tutorial se centra principalmente en los usos de la izquierda. La unión izquierda se utiliza para recuperar todos los registros de la tabla del lado izquierdo en función de las condiciones específicas y esos registros de la tabla del lado derecho donde coinciden los campos de unión de ambas tablas. Este tutorial muestra los usos de la izquierda unirse en MySQL utilizando varios ejemplos.

Sintaxis:

Seleccione Field1, Field2, Field3, ... Fieldn
De la tabla1
Tabla de unión [exterior] izquierda2
En la tabla1.campo = tabla2.campo;

Aquí, usar la palabra clave externa es opcional. Cualquier campo de tabla 1 y los campos comunes de ambos tabla 1 y Tabla 2 se puede definir en la consulta seleccionada. Los registros se devolverán según las condiciones definidas después de la cláusula ON.

Requisito previo:

Antes de comenzar este tutorial, debe crear la base de datos y tablas de datos necesarias con datos, para verificar el uso de la izquierda. Aquí, una base de datos nombrada compañía se crea y se nombran dos tablas relacionadas clientes y pedidos son creados. Se aplicará la unión a la izquierda en estas tablas.

Si no creaste el compañía base de datos antes de luego ejecutar la siguiente declaración para crear la base de datos.

Crear compañía de bases de datos;

Ejecute la siguiente declaración para crear clientes Tabla de cuatro campos (ID, nombre, mobile_no y correo electrónico. Aquí, identificación es una clave principal.

Crear clientes de la mesa (
ID int (5) Clave primaria Auto_Increment,
Nombre Varchar (50) No nulo,
mobile_no varchar (50) no nulo,
correo electrónico varchar (50) no nulo) motor = innodb;

Ejecute la siguiente declaración para crear pedidos Tabla que está relacionada con los clientes Tabla de cinco campos (ID, Order_Date, Customer_ID, Delivery_address y cantidad). Aquí identificación es una clave principal y Identificación del cliente es una clave extranjera.

Crear pedidos de tabla (
ID VARCHAR (20) Clave principal,
Fecha de orden de orden,
customer_id int (5) no nulo,
entrega_address varchar (50) no nulo,
cantidad int (11),
REFERENCIAS DE CLAVE EXTRANJERO (CLANDER_ID) CLIENTES (ID))
Motor = innodb;

Ejecute la siguiente declaración para insertar algunos datos en clientes mesa.

Insertar en los valores de los clientes

(Null, 'Johnathan', '18477366643', '[email protected] '),
(NULL, 'Musfiqur Rahman', '17839394985', '[email protected] '),
(Null, 'Jimmy', '14993774655', '[email protected] ');

Ejecute la siguiente declaración para insertar algunos datos en pedidos mesa.

Insertar en valores de pedidos
('1937747', '2020-01-02', 1, 'nuevo trabajo', 1000),
('8633664', '2020-02-12', 3, 'Texas', 1500),
('4562777', '2020-02-05', 1, 'California', 800),
('3434959', '2020-03-01', 2, 'nuevo trabajo', 900),
('7887775', '2020-03-17', 3, 'Texas', 400);

La siguiente declaración mostrará los registros de clientes mesa.

Seleccionar * de los clientes;

La siguiente declaración mostrará los registros de pedidos mesa.

Seleccionar * de los pedidos;

Ahora, las tablas con datos están listas y puede aplicar a la izquierda unirse en estas tablas para saber cómo funciona.

Uso de una simple unión izquierda

El siguiente ejemplo muestra el uso muy simple de la unión izquierda. Recuperará tres campos de clientes mesa y dos campos de pedidos mesa donde identificación de clientes mesa y Identificación del cliente de pedidos La tabla son iguales.

Seleccionar clientes.ID, clientes.Nombre, clientes.mobile_no, pedidos.fecha de orden,
pedidos.cantidad
De los clientes
Left órdenes de unión
En clientes.ID = órdenes.Identificación del cliente;

La siguiente salida aparecerá después de ejecutar la instrucción SQL anterior. 3 identificación valores de clientes la tabla ha aparecido 5 veces como Identificación del cliente valores en pedidos mesa. Entonces, cinco filas se devuelven como salida.

Uso de la izquierda se une con la cláusula Where en la mesa izquierda

La siguiente declaración muestra cómo se puede usar la cláusula Where con unir entre dos tablas. Aquí, 1 campo de la tabla de clientes y 3 campos de la tabla de pedidos se recuperarán donde identificación de clientes mesa y Identificación del cliente de pedidos La tabla es igual y identificación de clientes La mesa es inferior a 3.

Seleccionar clientes.Nombre, pedidos.order_date, pedidos.entrega_address, pedidos.cantidad
De los clientes
Left órdenes de unión
En clientes.ID = órdenes.Customer_id donde clientes.identificación < 3;

2 existen registros en clientes mesa donde identificación es menos de tres años y 3 registros de pedidos coincidencia de tabla con estos 2 registros (1 y 2). Entonces, se devolverán tres filas a juego. La siguiente salida aparecerá después de ejecutar el script.

Uso de la izquierda Unirse con la cláusula WHERE en la tabla derecha

En la siguiente declaración SQL, pedidos La tabla se usa como una tabla del lado izquierdo y clientes La tabla se usa como un lado derecho del operador de unión a la izquierda. Recuperará tres campos de pedidos mesa y un campo de clientes mesa donde Identificación del cliente de pedidos mesa y identificación de clientes La tabla es la misma y ordenada cantidad es mayor que 900.

Seleccionar pedidos.ID, pedidos.order_date, pedidos.cantidad, clientes.nombre
De las órdenes
Izquierda se une a los clientes
En órdenes.customer_id = clientes.ID donde las órdenes.cantidad> 900;

Si revisa el pedidos tabla entonces verá que solo hay dos cantidades más que 900. Estos son 1000 y 1500 y las ID de cliente ordenadas son 1 y 3, que son los valores de identificación de Johnathan y Palanqueta. La siguiente salida aparecerá después de ejecutar la declaración.

Cualquier función agregada se puede usar con la cláusula de unión en la instrucción SQL. En la siguiente instrucción SQL, la unión izquierda se usa en dos tablas y la función agregada suma () se usa para calcular la suma total del grupo de cantidades ordenadas por identificación de clientes mesa.

Seleccionar clientes.Nombre, clientes.mobile_no, suma (pedidos.cantidad)
De las órdenes
Izquierda se une a los clientes
En clientes.ID = órdenes.grupo_id grupo por pedidos.Identificación del cliente;

Hay tres identificación valores en clientes mesa y según pedidos Tabla, hay dos entradas para el valor de ID 1 (1000 + 800 = 1800), una entrada para el valor de ID 2 (900) y dos entradas para el valor de ID 3 (400 + 1500 = 1900). La siguiente salida aparecerá después de ejecutar la declaración.


Conclusión:

De acuerdo con los requisitos de búsqueda, puede usar diferentes tipos de cláusulas de unión en su instrucción SQL para averiguar el resultado preciso de las tablas de la base de datos. Las declaraciones SQL utilizadas en este artículo explican los diversos usos de la unión izquierda para recuperar el conjunto de resultados diferentes de dos tablas. Puede usar más de dos tablas para unirse para escribir una consulta más compleja. Espero que este tutorial ayude a los principiantes a saber el uso de la izquierda.