Todos los productos
Search
Centro de documentos

OpenSearch:Tipos de operaciones JOIN

Última actualización: Sep 04, 2026

OpenSearch admite cuatro tipos de operaciones JOIN: left join, inner join, semi join y anti join.

Left outer join

  • Un left join devuelve todos los registros de la tabla izquierda, incluso si no hay registros coincidentes en la tabla derecha.

SELECT
  t1.id, t2.id
FROM
  tj_shop AS t1
LEFT JOIN
  tj_item AS t2
ON
  t1.id = t2.id
Nota

Si los valores de la tabla derecha no son únicos, evite usar demasiadas operaciones left join consecutivas para prevenir la expansión excesiva de datos durante el procedimiento de JOIN.

Inner join

  • Un inner join devuelve las filas que cumplen la condición ON. La palabra clave inner es opcional.

SELECT
  t1.id, t2.id
FROM
  tj_shop AS t1
JOIN
  tj_item AS t2
ON
  t1.id = t2.id
  • Si la condición ON siempre es TRUE, la operación devuelve el producto cartesiano de ambas tablas. Las dos sentencias SQL a continuación son equivalentes.

SELECT
  t1.id, t2.id
FROM
  tj_shop AS t1
JOIN
  tj_item AS t2
ON
  TRUE

SELECT
  t1.id, t2.id
FROM
  tj_shop, tj_item;

Semi join

  • En un semi join, la tabla derecha solo se usa para filtrar datos de la tabla izquierda y no aparece en el conjunto de resultados.

  • Cuando se cumple la condición de join, la operación devuelve datos de la tabla izquierda. Se devuelve una fila de la tabla tj_shop si su id existe en la tabla tj_item.

SELECT
  id
FROM
  tj_shop
WHERE id IN (
  SELECT 
    id 
  FROM 
    tj_item
)
SELECT
  id
FROM
  tj_shop
WHERE EXISTS (
  SELECT 
    id 
  FROM 
    tj_item
  WHERE
    tj_shop.id = id
)

Anti join

  • En un anti join, la tabla derecha solo se usa para filtrar datos de la tabla izquierda y no aparece en el conjunto de resultados.

  • Cuando no se cumple la condición de join, la operación devuelve datos de la tabla izquierda. Se devuelve una fila de la tabla tj_shop si su id no existe en la tabla tj_item.

SELECT
  id
FROM
  tj_shop
WHERE id NOT IN (
  SELECT 
    id 
  FROM 
    tj_item
)
SELECT
  id
FROM
  tj_shop
WHERE NOT EXISTS (
  SELECT 
    id 
  FROM 
    tj_item
  WHERE
    tj_shop.id = id
)