✨ ¡Excelente momento para conectar! Estoy disponible para tu próximo proyecto. No más esperas ni complicaciones. Te ofrezco desarrollo ágil, comunicación clara y resultados que superan expectativas. Conversemos sobre cómo puedo impulsar tu idea.

Subconsultas en SQL

  subconsultas

Las subconsultas son consultas anidadas dentro de otra consulta. Se utilizan para realizar operaciones más complejas y permiten recuperar datos que dependen de otros datos.

A continuación, se presentan ejemplos de cómo usar subconsultas en diferentes partes de una consulta SQL.

Ejemplo de Tablas

Para ilustrar mejor, trabajaremos con las siguientes tablas:

Tabla: usuarios

bash
| id  | nombre   |
|-----|----------|
| 1   | Juan     |
| 2   | María    |
| 3   | Pedro    |
| 4   | Ana      |

Tabla: pedidos

bash
| id  | usuario_id | producto      |
|-----|------------|---------------|
| 1   | 1          | Producto A    |
| 2   | 1          | Producto B    |
| 3   | 2          | Producto C    |
| 4   | 3          | Producto D    |

Subconsultas en el SELECT

Las subconsultas pueden usarse en la cláusula SELECT para calcular valores que dependen de otros datos.

sql
SELECT nombre, 
(SELECT COUNT(*) 
      FROM pedidos 
      WHERE usuario_id = usuarios.id) AS total_pedidos
FROM usuarios;

Resultado:

bash
| nombre | total_pedidos |
|--------|---------------|
| Juan   | 2             |
| María  | 1             |
| Pedro  | 1             |
| Ana    | 0             |

Subconsultas en el FROM

Las subconsultas también se pueden usar en la cláusula FROM para crear tablas temporales que pueden ser consultadas.

sql
SELECT usuario_id, COUNT(*) AS total_pedidos
FROM (SELECT * FROM pedidos WHERE producto = 'Producto A') AS pedidos_filtrados
GROUP BY usuario_id;

Resultado:

bash
| usuario_id | total_pedidos |
|------------|---------------|
| 1          | 1             |

Subconsultas en el WHERE

Las subconsultas son útiles en la cláusula WHERE para filtrar resultados basados en condiciones de otras tablas.

sql
SELECT * FROM usuarios 
WHERE id IN (SELECT usuario_id FROM pedidos WHERE producto = 'Producto A');

Resultado:

bash
| id  | nombre |
|-----|--------|
| 1   | Juan   |
  Nota

Las subconsultas son herramientas poderosas que permiten hacer consultas más complejas y obtener datos interrelacionados de manera efectiva.