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:
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
Tabla: pedidos
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 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 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:
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 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:
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:
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:
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:
Cláusula ON
SELECT cust_name, occupation, order_id, price, date FROM customers LEFT JOIN orders ON price=2500;
Dará el siguiente resultado: