En este tutorial, discutiremos cómo usar las subconsules PostgreSQL. Las subconsules le permiten crear consultas SQL complejas que sean fuertemente legibles y fáciles de usar.
¿Qué es un subconsulto??
En PostgreSQL, una subconsulta se refiere a una consulta dentro de una consulta. Puede vincular las subconsules a consultas típicas como select, de dónde, desde, y más.
Una subconsulta también se llama una consulta interna.
La sintaxis básica para una subconsulta PostgreSQL es:
Seleccione COL1, COL2 de TB1 donde ExpR (seleccione COL1, COL2 de TB1);En este caso, las declaraciones dentro del paréntesis representan la subconsulta. Se ejecutan antes de que se ejecute la consulta principal o externa.
Una vez que la subconscalería devuelve el resultado, la consulta principal lo procesa y devuelve los resultados al usuario.
En PostgreSQL, la orden por no se puede usar dentro de una subconsulta.
Ejemplo PostgreSQL Subquery
Ilustramos el uso de una subconsulta utilizando la cláusula Where. Supongamos que tenemos una base de datos de los países con columnas: Representaciones de nombre, país_id y de dos letras.
Podemos usar una subconsulta para obtener los países donde la identificación es superior a 800.
Una consulta de ejemplo está a continuación:
Seleccionar nombre, two_letter, country_id desde país donde country_id in (seleccione country_id donde country_id> 800);En el ejemplo anterior, el subconsulador filtra a los países con una identificación de más de 800 y devuelve el resultado a la consulta principal.
Un resultado de ejemplo está a continuación:
Ejemplo 2
Supongamos que queremos obtener países con una identificación superior a 800 y comenzar con la letra u.
Podemos atar la consulta dentro de una subconsulta como:
Seleccione Nombre, Two_letter, Country_id desde el país donde country_id in (seleccione country_id donde country_id> 800 y two_letter como 'u%');La consulta anterior funciona de manera similar a la anterior. Sin embargo, verifica dos condiciones a la vez y devuelve el resultado a la consulta externa.
Ejemplo 3
Aunque no podemos usar el pedido por cláusula dentro de una subconsulta de PostgreSQL, podemos usar un grupo por consulta para realizar una función similar.
Por ejemplo, considere la tabla de pago en la base de datos de Sakila. Podemos realizar una acción como:
Seleccione PAYOY_ID, Cantidad DE pago donde pagos_id EN (Seleccione Paypage_ID DE grupo de pago por pago_id límite 5);La consulta anterior devolverá los resultados agrupados por ID de pago.
Ejemplo 4
También podemos usar PostgreSQL con otras declaraciones. Por ejemplo, podemos eliminar registros específicos devueltos de una subconsulta.
Eliminar de la película donde existe (seleccione Film_ID de Film Where Film_id> 100);En la consulta anterior, eliminamos la película donde el Film_ID es mayor que 100.
Es bueno asegurarse de que otras personas que usan la base de datos no hayan referencia a los registros que desea eliminar.
Puntos subcontratados
Hay pocos puntos a tener en cuenta cuando se trabaja con las subconsules PostgreSQL.
Clausura
En esta guía, discutimos cómo unir consultas en PostgreSQL sin usar consultas separadas.