logo

MySQL UNIRSE IZQUIERDO

La combinación izquierda en MySQL se utiliza para consultar registros de varias tablas. Esta cláusula es similar a la cláusula de unión interna que se puede utilizar con una instrucción SELECT inmediatamente después de la palabra clave FROM. Cuando usamos la cláusula Unión izquierda, devolverá todos los registros de la primera tabla (lado izquierdo), incluso si no se encuentran registros coincidentes de la segunda tabla (lado derecho). Si no encuentra ningún registro de coincidencias en la tabla del lado derecho, devuelve nulo.

En otras palabras, la cláusula Left Join devuelve todas las filas de la tabla izquierda y los registros coincidentes de la tabla derecha o devuelve Null si no se encuentra ningún registro coincidente. Esta unión también se puede llamar Izquierda combinación externa cláusula. Entonces, Outer es la palabra clave opcional para usar con Left Join.

Podemos entenderlo con la siguiente representación visual donde Left Joins devuelve todos los registros de la tabla de la izquierda y solo los registros coincidentes de la tabla del lado derecho:

MySQL UNIRSE IZQUIERDO

Sintaxis de unión izquierda de MySQL

La siguiente sintaxis explica la cláusula Left Join para unir dos o más tablas:

 SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON Join_Condition; 

En la sintaxis anterior, tabla 1 es la tabla de la izquierda, y Tabla 2 es la tabla de la derecha. Esta cláusula devuelve todos los registros de la tabla1 y los registros coincidentes de la tabla2 según el valor especificado. condición de unión .

cadena multilínea javascript

Ejemplo de UNIÓN IZQUIERDA de MySQL

Tomemos algunos ejemplos para comprender el funcionamiento de la cláusula de unión izquierda o de unión externa izquierda:

red de arquitectura

Cláusula LEFT JOIN para unir dos tablas

Aquí vamos a crear dos tablas ' clientes' y ' pedidos' que contiene los siguientes datos:

Tabla: clientes

MySQL UNIRSE IZQUIERDO

Tabla: pedidos

MySQL UNIRSE IZQUIERDO

Para seleccionar registros de ambas tablas, ejecute la siguiente consulta:

 SELECT customers.customer_id, cust_name, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id; 

Después de la ejecución exitosa de la consulta, dará el siguiente resultado:

memoria virtual
MySQL UNIRSE IZQUIERDO

MySQL LEFT JOIN con cláusula USING

La tabla clientes y pedidos tienen el mismo nombre de columna, que es customer_id. En ese caso, MySQL Left Join también se puede utilizar con la cláusula USING para acceder a los registros. La siguiente declaración devuelve la identificación del cliente, el nombre del cliente, la ocupación, el precio y la fecha utilizando la cláusula Left Join con la palabra clave USING.

 SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id); 

La declaración anterior dará el siguiente resultado:

MySQL UNIRSE IZQUIERDO

MySQL LEFT JOIN con cláusula Group By

La combinación izquierda también se puede utilizar con la cláusula GROUP BY. La siguiente declaración devuelve la identificación del cliente, el nombre del cliente, la calificación, el precio y la fecha utilizando la cláusula Left Join con la cláusula GROUP BY.

 SELECT customers.customer_id, cust_name, qualification, price, date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id GROUP BY price; 

La declaración anterior dará el siguiente resultado:

MySQL UNIRSE IZQUIERDO

UNIRSE A LA IZQUIERDA con la cláusula WHERE

La cláusula WHERE se utiliza para devolver el filtrar resultado de la tabla. El siguiente ejemplo ilustra esto con la cláusula de unión izquierda:

 SELECT customer_id, cust_name, occupation, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price>2500; 

Esta declaración da el siguiente resultado:

MySQL UNIRSE IZQUIERDO

MySQL LEFT JOIN Varias tablas

Ya hemos creado dos tablas llamadas ' clientes' y ' pedidos' . Creemos una tabla más y llamémosla como ' contactos' que contiene los siguientes datos:

MySQL UNIRSE IZQUIERDO

Ejecute la siguiente declaración para unir las tres tablas de clientes, pedidos y contactos:

convertir una cadena a un número entero
 SELECT customers.customer_id, cust_name, order_id, price, cellphone FROM customers LEFT JOIN contacts ON customer_id = contact_id LEFT JOIN orders ON customers.customer_id = orders.customer_id ORDER BY income; 

Después de la ejecución exitosa de la consulta anterior, obtendrá el siguiente resultado:

MySQL UNIRSE IZQUIERDO

Uso de la cláusula LEFT JOIN para obtener registros no coincidentes

La cláusula LEFT JOIN también es útil en el caso en que queremos obtener registros en la tabla que no contienen filas de datos coincidentes de otra tabla.

Lo podemos entender con el siguiente ejemplo que utiliza la cláusula LEFT JOIN para encontrar un cliente que no tiene número de celular:

longitud de la cadena java
 SELECT customer_id, cust_name, cellphone, homephone FROM customers LEFT JOIN contacts ON customer_id = contact_id WHERE cellphone IS NULL ; 

La declaración anterior devuelve el siguiente resultado:

MySQL UNIRSE IZQUIERDO

Diferencia entre la cláusula WHERE y ON en MySQL LEFT JOIN

En la unión IZQUIERDA, la condición DONDE y ENCENDIDO da un resultado diferente. Podemos ver las siguientes consultas para entender sus diferencias:

Dónde cláusula

 SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders USING(customer_id) WHERE price=2500; 

Dará el siguiente resultado que devuelve:

MySQL UNIRSE IZQUIERDO

Cláusula ON

 SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500; 

Dará el siguiente resultado:

MySQL UNIRSE IZQUIERDO

NOTA: Las condiciones WHERE y ON en la cláusula Inner Join siempre devuelven resultados equivalentes.