Una subconsulta en SQL es una consulta que está incrustada dentro de otra consulta. Es una herramienta poderosa que se puede usar para filtrar y manipular datos en el nivel de la base de datos. En este caso, queremos usar una subconsulta para buscar los nombres de los clientes que han realizado pedidos en una tabla 'Orders'.
La respuesta correcta a la pregunta es la siguiente instrucción SQL:
SELECT Name FROM Customers WHERE CustomerID IN (SELECT CustomerID FROM Orders)
Esta consulta hace uso del operador IN
en combinación con una subconsulta. Veamos detalladamente cómo esto funciona.
El uso del operador IN
en conjunto con una subconsulta permite filtrar los resultados de la consulta principal con base en los resultados de la subconsulta.
SELECT Name FROM Customers WHERE CustomerID IN (SELECT CustomerID FROM Orders)
La subconsulta, (SELECT CustomerID FROM Orders)
, selecciona todos los CustomerID
de la tabla 'Orders', es decir, los IDs de los clientes que han realizado un pedido.
Luego, la consulta principal SELECT Name FROM Customers WHERE CustomerID IN ...
selecciona todos los nombres de la tabla 'Customers' cuyo CustomerID
se encuentra entre los seleccionados por la subconsulta.
Supongamos que tienes un comercio online y quieres saber quiénes de tus clientes han realizado al menos un pedido. Esta consulta sería perfecta para eso. Te daría una lista de los nombres de los clientes que han realizado un pedido.
Si también necesitas la información del pedido, podría usar un JOIN
para unir las dos tablas. Sin embargo, en este caso solo necesitamos los nombres de los clientes que han realizado un pedido, por lo que la subconsulta con IN
es la mejor opción. Además, las subconsultas pueden ser muy útiles cuando necesitamos hacer consultas más complejas o cuando necesitamos usar la salida de una consulta como entrada de otra.
Por último, debes tener en cuenta que, aunque las subconsultas son muy potentes, también pueden ser costosas en términos de rendimiento, especialmente cuando se trabaja con grandes cantidades de datos. Por lo tanto, siempre es una buena idea analizar tu consulta y asegurarte de que está optimizada para tu caso de uso específico.