Subconsultas en Oracle

Hola a todos, hoy os voy a explicar como funcionan las subconsultas en Oracle.

Las subconsultas son consultas que se hacen en otra consulta. Estas se utilizan para obtener datos que necesitamos para la consulta principal.

Por ejemplo, si quisiéramos saber el nombre y apellidos de un instructor que tiene un curso llamado X, si queremos hacerlo con una sola tabla, necesitamos consultar cual es el id del instructor de ese curso y eso lo hacemos con subconsultas.

Las subconsultas no siempre son necesarias, pero en otras ocasiones si son útiles.

Veamos el ejemplo que hemos visto antes:

SELECT nombre, apellidos
FROM personas
WHERE id = (SELECT ci.id_instructor 
                FROM cursos c, cursos_instructores ci
                WHERE c.id = ci.id_curso
                        and upper(c.titulo) = 'NODE: DE 0 A EXPERTO' 
                );

Este es el resultado:

Realmente, si cogemos la subconsulta suelta:

SELECT ci.id_instructor 
    FROM cursos c, cursos_instructores ci
    WHERE c.id = ci.id_curso
        and upper(c.titulo) = 'NODE: DE 0 A EXPERTO'

Este es el resultado:

Fíjate, que devuelve id del instructor y en la consulta principal enlazamos ese resultado con un campo de la consulta principal:

Si supiéramos que esa subconsulta devolviera más de un valor, en lugar de =, usaríamos el operador in.

¿Quieres saber mas de SQL en Oracle? Tengo un curso en udemy con muchos ejercicios prácticos.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

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