La UNIÓN EXTERNA COMPLETA (FULL OUTER JOIN) es una operación de SQL que permite devolver todos los registros cuando hay una coincidencia en las tablas a la izquierda (LEFT) o a la derecha (RIGHT) que se están uniendo.
Sin embargo, la mayor parte de los sistemas de gestión de bases de datos SQL, incluyendo MariaDB, no soportan directamente la operación FULL OUTER JOIN. Pero puedes emularla utilizando una combinación de LEFT JOIN, UNION y RIGHT JOIN, así:
Primero, aquí está la versión general de cómo puedes lograrlo:
``` SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id UNION SELECT * FROM table1 RIGHT JOIN table2 ON table1.id = table2.id WHERE table1.id IS NULL ```Aquí está un ejemplo específico:
``` CREATE TABLE ordenes (id INT, producto_id INT, cantidad INT); INSERT INTO ordenes VALUES (1, 11, 2), (2, 22, 3), (3, 33, 4); CREATE TABLE productos (id INT, nombre VARCHAR); INSERT INTO productos VALUES (11, ‘plátanos’), (22, ‘manzanas’), (44, ‘naranjas’); SELECT * FROM ordenes LEFT JOIN productos ON ordenes.producto_id = productos.id UNION SELECT * FROM ordenes RIGHT JOIN productos ON ordenes.producto_id = productos.id WHERE ordenes.id IS NULL; ```En este ejemplo, la consulta devolverá todas las órdenes y productos, incluso si no hay una coincidencia directa entre ellos.