Subconsulta: otra forma de consultar varias tablas

En el artículo anterior, presentamos cómo usar JOIN en declaraciones SQL para obtener datos relacionados en múltiples tablas, y discutimos específicamente los principios de combinaciones internas, combinaciones externas izquierda / derecha / completa, combinaciones cruzadas, combinaciones naturales y autocomisiones. Y cómo usarlo.

Además de las consultas de unión, SQL también proporciona otra forma de consultar varias tablas al mismo tiempo: Subconsulta. En este artículo, veremos varios tipos de subconsultas y operadores relacionados.

¿Qué es una subconsulta?

Consideremos primero una pregunta, ¿qué empleados tienen un salario mensual mayor que el salario mensual promedio de todos los empleados? Primero puede usar la función AVG para obtener el salario mensual promedio de todos los empleados:

SELECT AVG(salary)
  FROM employee;

AVG(salary)|
-----------|
9832.000000|

A continuación, utilice el resultado de la consulta como condición de consulta de la siguiente declaración para devolver empleados cuyo salario mensual sea superior a 9832:

SELECT emp_name, salary
  FROM employee
 WHERE salary > 9832;

El resultado de esta declaración es el siguiente:

subconsulta

Usamos dos consultas para resolver este simple problema, pero los requisitos en las aplicaciones reales a menudo son más complicados; obviamente, necesitamos funciones de consulta más avanzadas.

SQL proporciona un método de consulta llamado subconsulta, que puede resolver este problema muy fácilmente:

SELECT emp_name, salary
  FROM employee
 WHERE salary > (
                 SELECT AVG(salary)
                   FROM employee
                );

Supongo que te gusta

Origin blog.csdn.net/horses/article/details/108729099
Recomendado
Clasificación