MySQL Tutorial de subconsultas con ejemplos

¿Qué son las subconsultas?

Una subconsulta es una consulta de selección que está contenida dentro de otra consulta. La consulta de selección interna se usa generalmente para determinar los resultados de la consulta de selección externa.

Veamos la sintaxis de la subconsulta:

MySQL subconsulta

Una queja común de los clientes en la biblioteca de videos MyFlix es la poca cantidad de títulos de películas. La dirección quiere comprar películas de la categoría que tenga el menor número de títulos.

Puedes usar una consulta como

SELECT category_name FROM categories WHERE category_id =( SELECT MIN(category_id) from movies);

Da un resultado

MySQL subconsulta

Veamos cómo funciona esta consulta.

MySQL subconsulta

Lo anterior es una forma de Subconsulta de fila. En tales subconsultas, la consulta interna puede dar solo UN resultado. lo permitido operaLos controladores cuando se trabaja con subconsultas de fila son [=, >, =, <=, ,!=, ]

Veamos otro ejemplo,

Supongamos que desea Nombres y Teléfono numbers de miembros de personas que han alquilado una película y aún no la han devuelto. Una vez que obtenga los nombres y el número de teléfono, llámelos para recordarles. Puedes usar una consulta como

SELECT full_names,contact_number FROM   members  WHERE  membership_number IN (SELECT membership_number FROM movierentals WHERE return_date IS NULL );


MySQL subconsulta

Veamos cómo funciona esta consulta.

MySQL subconsulta

En este caso, la consulta interna devuelve más de un resultado. Lo anterior es el tipo de T.capaz de subquerery.

Hasta ahora hemos visto dos consultas, veamos ahora un ejemplo de consulta triple!!!

Supongamos que la dirección quiere recompensar al miembro que paga más.

Podemos ejecutar una consulta como

Select full_names From members WHERE membership_number = (SELECT membership_number FROM payments WHERE amount_paid = (SELECT MAX(amount_paid) FROM payments));

La consulta anterior da lo siguientewing resultado -

MySQL subconsulta

¡Subconsultas versus uniones!

En comparación con Joins, las subconsultas son fáciles de usar y de leer. No son tan complicados como Une

De ahí que sean utilizados frecuentemente por Principiantes de SQL.

Pero las subconsultas tienen problemas de rendimiento. Usar una combinación en lugar de una subconsulta a veces puede brindarle un aumento de rendimiento de hasta 500 veces.

Si tiene la opción, se recomienda utilizar JOIN en lugar de una subconsulta.


Las subconsultas solo deben usarse como solución alternativa cuando no se puede usar JOIN operación para lograr lo anterior

Subconsultas versus uniones

Resumen

  • Las subconsultas son consultas incrustadas dentro de otra consulta. La consulta incrustada se conoce como consulta interna y la consulta del contenedor se conoce como consulta externa.
  • Las subconsultas son fáciles de usar, ofrecen una gran flexibilidad y se pueden dividir fácilmente en componentes lógicos individuales que componen la consulta, lo cual es muy útil cuando Pruebas y depurar las consultas.
  • MySQL admite tres tipos de subconsultas: subconsultas escalares, de filas y de tablas.
  • Las subconsultas escalares solo devuelven una sola fila y una sola columna.
  • Las subconsultas de fila solo devuelven una sola fila, pero pueden tener más de una columna.
  • Las subconsultas de tablas pueden devolver varias filas y columnas.
  • Las subconsultas también se pueden utilizar en consultas INSERTAR, ACTUALIZAR y ELIMINAR.
  • Por problemas de rendimiento, cuando se trata de obtener datos de varias tablas, es stronSe recomienda encarecidamente utilizar JOIN en lugar de subconsultas. Las subconsultas solo deben usarse con una buena razón.