Ideal para comenzar, un Hosting económico también puede ser de calidad.
Las ventajas de un servidor dedicado con el precio de un hosting compartido.
Consiga el rendimiento de un servidor dedicado con la facilidad de un hosting compartido.
Amplié sus Recursos de disco duro, memoria, CPU según tus necesidades en minutos.
Disponga de toda la potencia, privacidad y seguridad que te otorgan nuestros servidores VPS.
Para aquellas empresas que necesitan un servidor físico para sus aplicaciones y sistemas.
Alta disponibilidad, Hardware de vanguardia, Fuentes de alimentación redundantes.
A su disposición sistemas operativos de gran alcance, como Linux o Windows.
Rendimiento de alto nivel gracias al uso de nuestros potentes procesadores Intel Xeon.
Mesa Central +56 2 2582 1100
Lun a Vie de las 8 a las 21hPublicado en:
En las bases de datos relacionales y de forma específica en MySQL, las distintas consultas JOIN suelen prestarse a confusión. Cuando se necesita sacar información de más de una tabla en una consulta SQL es necesario utilizar una función JOIN para hacer referencia a las mismas.
Las bases de datos MySQL son las más utilizadas en programación web y apps móvil, por lo que es importante conocer el funcionamiento y el rendimiento de las consultas que se pueden realizar.
A continuación veremos la utilidad del comando o sentencia JOIN, los tipos existentes para MySQL y la diferencia entre LEFT JOIN e INNER JOIN.
El comando JOIN en MySQL tiene la función de poder combinar filas de distintas tablas asociando un campo común entre ellas. Cuando se redacta una sentencia en MySQL para realizar una consulta que requiere datos de dos o más tablas, se recurre a la sentencia JOIN.
Para poder utilizar JOIN es necesario que las distintas tablas a las que se haga referencia estén relacionadas de alguna manera, por ejemplo, utilizando el mismo campo ID.
Cuando dos o más tablas se juntan dentro de una consulta SQL se produce un JOIN. Existen distintos tipos de JOIN a la hora de realizar este tipo de consultas con referencia a múltiples tablas, siendo los más utilizados:
Cuando se realiza una consulta a varias tablas con una sentencia INNER JOIN se obtienen todas las filas cuando se produce una coincidencia entre las tablas.
La sentencia base SQL de INNER JOIN es la siguiente:
SELECT nombredeColumna(n) FROM tabla1 INNER JOIN tabla2 ON tabla1.nombredeColumna = tabla2.nombredeColumna;
El LEFT JOIN devuelve todas las filas de la tabla de la izquierda y las filas que coincidan de la tabla derecha. Los valores que existan en la tabla de la izquierda, pero no tengan coincidencia en la tabla derecha mostrarán el valor NULL.
La sentencia base SQL de LEFT JOIN es la siguiente:
SELECT nombredeColumna(n) FROM tabla1 LEFT JOIN tabla2 ON tabla1.nombredeColumna = tabla2.nombredeColumna;
En el caso contrario a LEFT JOIN, es RIGHT JOIN, donde se devuelven todas las filas de la tabla de la derecha y las filas que coincidan de la tabla izquierda. Los valores que existan en la tabla de la derecha, pero no tengan coincidencia en la tabla izquierda mostrarán el valor NULL.
La sentencia base SQL de RIGHT JOIN es la siguiente:
SELECT nombredeColumna(n) FROM tabla1 RIGHT JOIN tabla2 ON tabla1.nombredeColumna = tabla2.nombredeColumna;
OUTER JOIN o FULL OUTER JOIN presenta todas las filas de ambas tablas (izquierda y derecha), es decir, es una combinación entre LEFT JOIN y RIGHT JOIN, mostrando los resultados combinados de ambas.
OUTER JOIN es una sentencia SQL que no está disponible específicamente en MySQL, pero se puede conseguir utilizando la sintaxis UNION para combinar RIGHT JOIN y LEFT JOIN.
Se hace referencia a tabla de la izquierda o tabla de la derecha porque la propia sentencia lo indica en el nombre. También es válido hacer referencia a primera tabla o segunda tabla cuando se habla de sentencias LEFT JOIN y RIGHT JOIN. En ese caso, la primera tabla sería la de la izquierda y la segunda tabla la de la derecha.
Un INNER JOIN se puede representar como la intersección de dos conjuntos. En una consulta MySQL con INNER JOIN se muestran los registros coincidentes entre ambos conjuntos. Al INNER JOIN se le conoce como enlace interno entre tablas de una base de datos.
Por su parte, LEFT JOIN (o RIGHT JOIN) es un enlace conocido como externo, ya que recupera todos los registros de una tabla y solo aquellos que coincidan de la otra. Es decir, se mostrarán todos los datos de la tabla de la izquierda, pero solo aquellos que coincidan de la tabla de la derecha (de forma inversa para RIGHT JOIN).
INNER JOIN es más rápido que LEFT JOIN a la hora de realizar una consulta a una base de datos. El motivo es que LEFT JOIN o RIGHT JOIN tiene que realizar la misma consulta que INNER JOIN, y además no extender los resultados. Por lo tanto, siempre que sea posible es mejor recurrir a consultas con INNER JOIN para poder optimizar la velocidad de las mismas, algo que afectará de forma positiva al rendimiento de páginas web, programas, apps o eCommerce que utilicen bases de datos MySQL.
Hemos visto cómo usar LEFT JOIN e INNER JOIN en consultas sobre bases de datos MySQL. Con el uso avanzado de consultas a bases de datos se necesita recurrir a distintas tablas relacionadas para obtener información coincidente de ambas. Para estos casos la sentencia JOIN es la más apropiada para utilizar en una consulta SQL.
Mesa Central +56 2 2582 1100 -
Emergencias: +56 9 93536578 -