Menu

Subconsultas SQL

En repetidas ocasiones nos topamos con situaciones en las que una consulta depende de los datos propios de otra consulta por separado y es aquí cuando empezamos a presentar problemas ya que no sabemos como realizar ese tipo de operaciones.

Estas operaciones se les conoce como “subconsultas” o “subquerys (en ingles)” que no es nada mas que una anidación de una consulta en otra consulta.

Una de las principales reglas que debemos de tomar en cuenta es que las subconsultas deben de estar incluidas dentro de paréntesis

Según información obtenida es permitido tener subconsultas de hasta de 32 niveles de anidación….

  1. Las que retornan un solo valor escalar que se utiliza con un operador de comparación o en lugar de una expresión.
  2. Las que devuelven una lista de valores, combinandolos con el “IN”, o los operadores “any”, “some” y “all”
  3. Cuando validamos las existencias de algo, utilizando el comando “exists”

 

A continuación te presento un ejemplo bastante sencillo para entender el concepto de una subconsulta con un caso práctico:

“Contamos con una biblioteca y el encargado nos solicita que le brindemos el título, el autor y el precio del libro más caro que se encuentra en la biblioteca”

Primero debemos de obtener de nuestra tabla libros el precio mas alto de todos nuestros libros y lo hacemos con el query “select max(precio) from libros;”

Segundo debemos de obtener el titulo el autor y el precio del libro en donde sea el precio mas alto y lo hacemos con el query “select titulo, autor, precio from libros”

Pero en esta ocasión se nos presenta el inconveniente cuando utilizamos nuestra cláusula where ya que debemos de indicar “cuando el precio de los libros sea el más alto” entonces es cuando utilizamos las subconsultas con el primer ejemplo que les mencionamos. A manera de que nos quede el query final de la siguiente forma:

Select titulo, autor, precio from libros where precio = (select max(precio) from libros);”

Lo que vemos de color naranja es el segundo query que les mencionamos y lo que está de color azul es el primer query unidos por medio de una subconsulta.

RECUERDA QUE PODEMOS HACER SUBCONSULTAS PARA HACER INSERTS, UPDATES, DELETES, SOLO ES CUESTION DE QUE SEPAMOS QUE RETORNAR EN NUESTRA SEGUNDA CONSULTA

Esperamos que haya sido de tu ayuda…!!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *