Subconsulto

Subconsulto

Una subconsulta (anidada) es parte de la consulta principal. Esta subparte está incrustada con la cláusula "Where" en la declaración. Se utiliza una subconsulta todo posible "seleccionar", eliminar ", etc. declaraciones con algunos operadores básicos como>,<, and, =, etc. One thing that competes for this command from others is that it doesn't support the use of the “ORDER BY” command inside the subquery because we use a subquery to make the query easier, whereas the use of this clause can make it more complex. However, we can use “order by” clause in the main command. The syntax of the subquery varies for every other statement. The examples used in this guide will be favorable in explaining the respective syntaxes.

Subconsulta y el comando seleccionar

Considere una tabla llamada tecnología. La tabla se crea utilizando las declaraciones "Crear" e "Insertar". La tabla tiene 4 atributos (columna). Muestre el contenido de la tabla utilizando la instrucción SELECT.

>> seleccionar * de la tecnología;

Aplicaremos una subconsulta a esta tabla. Esta subconsulta está relacionada con el uso de la declaración "Seleccionar". Subconsulta en tal situación cuando necesita aplicar más de una condición en una sola tabla. La consulta principal selecciona una parte de la tabla, mientras que la subconsulta selecciona la tabla de descanso. El concepto será claro después de comprender el ejemplo dado. La declaración de selección en sí se usa de muchas maneras en una subconsulta. Todos los métodos posibles se explican aquí uno por uno. Comencemos los ejemplos.

>> Seleccione T1.Nombre, T1.año, (seleccione Min (ID) de T2 donde T1.ID = T2.id) Subquery1 de la tecnología T1;

La explicación de esta consulta requirió el concepto de creación de objetos. De la consulta, está claro que se accede a los nombres de la columna de la tabla a través de la letra de referencia, conocida como un objeto en la mayoría de los lugares. El primer comando seleccionar, el comando principal, obtiene dos nombres de columnas y el año a través de "T1", mientras que la tercera columna depende de la subconsulta. Se utiliza otro comando seleccionado para obtener la ID de la tabla de tecnología, cuyo nombre se establece como "Subquery1". Aquí, se aplica una condición; Las ID se muestran en la tabla resultante si la condición está satisfecha. Se crea otra vista de la tabla que es obtenida por "T2". En primer lugar, la comparación se realiza entre las ID de T1 y T2. Cuando ambas ID son las mismas, visualelos en el resultado con las otras dos columnas. En otras palabras, se seleccionará toda la columna de ID porque la columna es la misma en ambas tablas.

Avanzando hacia el siguiente ejemplo de "seleccionar", este ejemplo es simple en comparación con el último, ya que no se usa ningún objeto de acceso adicional. Como sabemos que primero, el subcrefery es ejecutado por el sistema. En el subcontrol, la condición se aplica en una columna de la tabla, donde el número de modelo debe ser mayor que 3. Cuando el sistema obtiene los factores resultantes de la subconsulta, la consulta principal lo implementará en sí mismo. Por ejemplo, todos los demás datos de las columnas se mostrarán de acuerdo con el resultante de la subconsulta, respectivamente.

>> seleccionar * de la tecnología donde id en (seleccione ID de tecnología donde modelos> 3);

Puede ver que se retira una sola fila de la tabla que no cumplía la condición. Una cosa que debe tener en su mente es la pregunta de por qué hemos usado el subcontruco aquí, la condición podría aplicarse con la cláusula "Where" directamente en la declaración de selección. La respuesta es que el subcreery divide la consulta compleja en partes aisladas. Las medidas de precisión aumentan en dec.

Ahora hemos cambiado hacia otra tabla llamada "muestra 1". La tabla tiene tres columnas; Uno es la edad. Aplicaremos una declaración de selección simple primero para calcular la edad promedio de la persona porque esta edad promedio se usará más en la tabla.

>> seleccionar * de Sample1; >> seleccione AVG (Age) de Sample1;

AVG (nombre de la columna) es una función incorporada de Postgres. Aquí, se usa una subconsulta; La consulta mostrará personas con una edad mayor que la edad promedio calculada. La subconsulta obtendrá la edad promedio de la edad de la columna.

>> seleccionar * de la muestra1 donde edad> (seleccione AVG (Age) de Sample1);

Se seleccionan 2 filas ya que estas edades eran mayores que la edad promedio.

Subconsulta con el uso de la declaración de inserción

Hasta ahora, hemos usado subcrefery en una sola mesa. Pero ahora, hay un ejemplo de uso de la consulta principal en una tabla y la subcuader en la otra. Para este propósito, hemos usado dos tablas aquí. Uno es software, y el otro es un sistema. Obtenga el registro a través de la instrucción SELECT para ambas tablas.

>> seleccionar * del software;

Ahora aplicaremos el subcreador a las tablas dadas.

Seleccionar la declaración como la consulta principal también se puede utilizar en este caso. Pero en este ejemplo, se usa "insertar". Esta declaración agregará una fila en una tabla sobre el valor en la fila de otra tabla utilizando una cláusula "Dónde".

>> Insertar en el software (ID, nombre) Seleccione ID, nombre del sistema donde el sistema.id> 5 y sistema.nombre = 'Windows';

El "sistema"Los valores de la tabla se insertan en la tabla" Software "haciendo coincidir tanto la identificación como los nombres de las tablas. Cada columna de la tabla diferente se especifica a través del nombre de la tabla. La subconsulta se basa en el "seleccionar"Declaración aquí para obtener el registro en dos columnas de la tabla.

Alteración de la tabla con la subconsulta

Ahora considere otro nombre de la tabla, "Sample1", que tiene nombres, identificaciones y edades de personas. Y la otra tabla es la misma que se introdujo en el ejemplo anterior "sistema".

La consulta de actualización se utiliza para alterar la tabla reemplazando la anterior con la nueva que se da en el comando. Mientras que en el caso de la subconsulta, el valor no se da directamente. Se obtiene de la subconsulta aplicada en la segunda tabla.

>> actualizar sample1 set nombre = (seleccione el nombre del sistema donde el sistema.ID = muestra1.identificación);

Este comando "muestra 1"La tabla se actualiza seleccionando el nombre de la tabla" Sistema "donde ambas ID son las mismas. La tabla de muestra 1 resultante muestra las dos filas. Como ID y el nombre fueron seleccionados, la columna de edad permaneció intacta.

Declaración de subcontratación y eliminación

Se utiliza una declaración de eliminación para eliminar los valores de una tabla de la otra. Como hemos usado ambas mismas tablas, los valores utilizados para actualizar otra tabla se eliminarán.

>> Eliminar del sistema donde existe (seleccione Nombre de Sample1 donde el sistema.ID = muestra1.identificación );

Cuando obtenemos la tabla después de la eliminación, podemos ver que queda una sola fila usando el 'seleccionar' declaración.

Conclusión

"subconsulto"Es una característica importante de esta plataforma para mantener las consultas fácilmente comprensibles. En este artículo, hemos discutido el uso de subconsulto en cada perspectiva de comandos Select, Insertar, Actualizar y Eliminar. Espero que este esfuerzo te ayude mientras usa comandos en postgresql.