Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MariaDB: únete
Este tutorial de MariaDB explica cómo usar MariaDB participar (interno y externo) con gramática, ilustraciones visuales y ejemplos.
describir
MariaDB JOINS se utiliza para recuperar datos de varias tablas. Se realiza un JOIN de MariaDB cada vez que se unen dos o más tablas en una instrucción SQL.
Hay diferentes tipos de conexiones MariaDB:
- MariaDB INNER JOIN (o a veces llamado unión simple)
- Unión externa izquierda de MariaDB (o, a veces, llamada unión izquierda)
- MariaDB RIGHT OUTER JOIN (o algunas veces llamado RIGHT JOIN)
Analicemos la sintaxis de JOIN de MariaDB, veamos la ilustración visual de JOIN de MariaDB y exploremos el ejemplo de JOIN de MariaDB.
UNIÓN INTERNA (unión simple)
Lo más probable es que haya escrito una instrucción que utilice MariaDB INNER JOIN. Es el tipo de conexión más común. MariaDB INNER JOINS devuelve todas las filas de varias tablas que cumplen la condición de unión.
sintaxis
La sintaxis de INNER JOIN en MariaDB es:
SELECT columns FROM table1 INNER JOIN table2 ON table1.column = table2.column;
ilustración visual
En esta visualización, MariaDB INNER JOIN devuelve el área sombreada:
MariaDB INNER JOIN devolverá los registros donde se cruzan table1 y table2.
ejemplo
Aquí hay un ejemplo de una UNIÓN INTERNA de MariaDB:
SELECT sites.site_id, sites.site_name, pages.page_title FROM sites INNER JOIN pages ON sites.site_id = pages.site_id;
Este ejemplo de MariaDB INNER JOIN devolverá todas las filas en las tablas de sitios y páginas donde hay un valor coincidente de site_id en las tablas de sitios y páginas.
Veamos algunos datos para explicar cómo funciona INNER JOINS:
Tenemos una tabla llamada sitios con dos campos (site_id y site_name). Contiene los siguientes datos:
Identificación del sitio | Nombre del sitio |
---|---|
1000 | TechOnTheNet.com |
2000 | CompruebaTusMatemáticas.com |
3000 | BigActivity.com |
4000 | sitio de google |
Tenemos otra tabla llamada páginas con tres campos (page_id, site_id y file_size). Contiene los siguientes datos:
id_página | Identificación del sitio | Título de la página |
---|---|---|
1 | 1000 | base de datos maría |
2 | 1000 | Oráculo |
3 | 2000 | Convertir centímetros a pulgadas |
4 | 3000 | páginas para colorear |
5 | 5000 | bonita |
Si ejecutamos la instrucción MariaDB SELECT (con INNER JOIN) a continuación:
SELECT sites.site_id, sites.site_name, pages.page_id, pages.page_title FROM sites INNER JOIN pages ON sites.site_id = pages.site_id;
Nuestro conjunto de resultados se ve así:
Identificación del sitio | Nombre del sitio | id_página | Título de la página |
---|---|---|---|
1000 | TechOnTheNet.com | 1 | base de datos maría |
1000 | TechOnTheNet.com | 2 | Oráculo |
2000 | CompruebaTusMatemáticas.com | 3 | Convertir centímetros a pulgadas |
3000 | BigActivity.com | 4 | páginas para colorear |
La fila Google.com en la tabla de sitios se omitirá porque no existe un site_id de 5000 en ninguna de las tablas. Las filas 4 (page_id) en la tabla de páginas se omitirán porque no existe un site_id de 5000 en la tabla de sitios.
sintaxis antigua
Como nota final, vale la pena mencionar que el ejemplo anterior de MariaDB INNER JOIN se puede reescribir usando la sintaxis implícita anterior de la siguiente manera (pero aún recomendamos usar la sintaxis de palabra clave INNER JOIN):
SELECT sites.site_id, sites.site_name, pages.page_id, pages.page_title FROM sites, pages WHERE sites.site_id = pages.site_id;
izquierda combinación externa
Otro tipo de unión se llama MariaDB LEFT OUTER JOIN.Este tipo de unión devuelve todas las filas en el reloj izquierdo especificado en la condición ON, y si solo Une esas filas de otras tablas donde los campos son iguales (se cumplen las condiciones de unión).
sintaxis
La sintaxis de MariaDB LEFT OUTER JOIN es:
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON table1.column = table2.column;
En algunas bases de datos, la palabra clave LEFT OUTER JOIN se reemplaza por LEFT JOIN.
ilustración visual
En esta visualización, MariaDB LEFT OUTER JOIN devuelve el área sombreada:
MariaDB LEFT OUTER JOIN devolverá todos los registros de la tabla 1 y solo los registros de la tabla 2 que se cruzan con la tabla 1.
ejemplo
Aquí hay un ejemplo de una combinación externa izquierda de MariaDB:
SELECT sites.site_id, sites.site_name, pages.page_id, pages.page_title FROM sites LEFT JOIN pages ON sites.site_id = pages.site_id;
Este ejemplo de LEFT OUTER JOIN devolverá todas las filas en la tabla del sitio y solo aquellas filas en la tabla de páginas donde los campos de unión son iguales.
Si el valor de site_id en la tabla de sitios no existe en la tabla de páginas, todos los campos en la tabla de páginas aparecerán en el conjunto de resultados como
Veamos algunos datos para explicar cómo funciona LEFT OUTER JOINS:
Tenemos una tabla llamada sitios con dos campos (site_id y site_name). Contiene los siguientes datos:
Identificación del sitio | Nombre del sitio |
---|---|
1000 | TechOnTheNet.com |
2000 | CompruebaTusMatemáticas.com |
3000 | BigActivity.com |
4000 | sitio de google |
Tenemos una segunda tabla llamada páginas con tres campos (page_id, site_id y page_title). Contiene los siguientes datos:
id_página | Identificación del sitio | Título de la página |
---|---|---|
1 | 1000 | base de datos maría |
2 | 1000 | Oráculo |
3 | 2000 | Convertir centímetros a pulgadas |
4 | 3000 | páginas para colorear |
5 | 5000 | bonita |
Si ejecutamos la siguiente sentencia SELECT (incluyendo LEFT OUTER JOIN):
SELECT sites.site_id, sites.site_name, pages.page_id, pages.page_title FROM sites LEFT JOIN pages ON sites.site_id = pages.site_id;
Nuestro conjunto de resultados se ve así:
Identificación del sitio | Nombre del sitio | id_página | Título de la página |
---|---|---|---|
1000 | TechOnTheNet.com | 1 | base de datos maría |
1000 | TechOnTheNet.com | 2 | Oráculo |
2000 | CompruebaTusMatemáticas.com | 3 | Convertir centímetros a pulgadas |
3000 | BigActivity.com | 4 | páginas para colorear |
4000 | sitio de google |
Dado que se usa LEFT OUTER JOIN, se incluirá la fila de Google.com.Sin embargo, notará que los campos page_id y page_title de estos registros contienen
unión externa derecha
Otro tipo de unión se llama MariaDB RIGHT OUTER JOIN.Este tipo de combinación devuelve todas las filas de la tabla DERECHA especificadas en la condición ON y si solo Une esas filas de otras tablas donde los campos son iguales (se cumplen las condiciones de unión).
sintaxis
La sintaxis de MariaDB RIGHT OUTER JOIN es:
SELECT columns FROM table1 RIGHT [OUTER] JOIN table2 ON table1.column = table2.column;
En algunas bases de datos, la palabra clave RIGHT OUTER JOIN se reemplaza por RIGHT JOIN.
ilustración visual
En este gráfico visual, MariaDB RIGHT OUTER JOIN devuelve el área sombreada:
MariaDB RIGHT OUTER JOIN devolverá todos los registros en table2 y solo aquellos registros en table1 que se cruzan con table2.
ejemplo
Aquí hay un ejemplo de una combinación externa derecha de MariaDB:
SELECT sites.site_id, sites.site_name, pages.page_id, pages.page_title FROM sites RIGHT JOIN pages ON sites.site_id = pages.site_id;
Este ejemplo de RIGHT OUTER JOIN devolverá todas las filas en la tabla de páginas y solo aquellas filas en la tabla de sitios donde los campos combinados son iguales.
Si el valor de site_id en la tabla de páginas no existe en la tabla de sitios, todos los campos en la tabla de sitios aparecerán en el conjunto de resultados como
Veamos algunos datos para explicar cómo funciona RIGHT OUTER JOINS:
Tenemos una tabla llamada sitios con dos campos (site_id y site_name). Contiene los siguientes datos:
Identificación del sitio | Nombre del sitio |
---|---|
1000 | TechOnTheNet.com |
2000 | CompruebaTusMatemáticas.com |
3000 | BigActivity.com |
4000 | sitio de google |
Tenemos una segunda tabla llamada páginas con tres campos (page_id, site_id y page_title). Contiene los siguientes datos:
id_página | Identificación del sitio | Título de la página |
---|---|---|
1 | 1000 | base de datos maría |
2 | 1000 | Oráculo |
3 | 2000 | Convertir centímetros a pulgadas |
4 | 3000 | páginas para colorear |
5 | 5000 | bonita |
Si ejecutamos la siguiente sentencia SELECT (con RIGHT OUTER JOIN):
SELECT sites.site_id, sites.site_name, pages.page_id, pages.page_title FROM sites RIGHT JOIN pages ON sites.site_id = pages.site_id;
Nuestro conjunto de resultados se ve así:
Identificación del sitio | Nombre del sitio | id_página | Título de la página |
---|---|---|---|
1000 | TechOnTheNet.com | 1 | base de datos maría |
1000 | TechOnTheNet.com | 2 | Oráculo |
2000 | CompruebaTusMatemáticas.com | 3 | Convertir centímetros a pulgadas |
3000 | BigActivity.com | 4 | páginas para colorear |
5 | bonita |
Dado que se utilizó un RIGHT OUTER JOIN, se incluirá la fila de 5 (page_id).Sin embargo, notará que los campos site_id y site_name del registro contienen