typestar

Subconsulta escalar en SQL

Una subconsulta que devuelve un solo valor puede ocupar el lugar de una columna o constante.

SELECT
    o.id,
    o.total,
    (
        SELECT COUNT(*)
        FROM order_items AS i
        WHERE i.order_id = o.id
    ) AS item_count
FROM orders AS o
WHERE o.total > (
    SELECT AVG(total)
    FROM orders
);

Cómo funciona

  1. En la lista del SELECT se evalúa por cada fila externa.
  2. Comparada contra un agregado forma un filtro relativo.
  3. Referirse al alias externo es lo que la mantiene correlacionada.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
169
Tokens
49
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 33 segundos.

Escribe este fragmento

Paso 2 de 3 en Subconsultas; paso 2 de 24 en Analítica y reportes.

← Anterior Siguiente →