PostgreSQL: Uso de la cláusula de Where Exists
Cuando se usa cualquier consulta SQL dentro de otra consulta SQL, se llama subconsulta. La consulta complicada se puede escribir fácilmente dividiendo una consulta grande en múltiples subcons. La cláusula Exist se utiliza con una subconsulta en una declaración SQL. La salida de Exists depende de los números de registros devueltos por la subconsulta, pero no depende de los valores de los registros. El resultado de Exists será cierto si el subconsulador asociado devuelve al menos una fila. Cómo puede usar las declaraciones EXISTS y NO EXISTS en Seleccionar, Insertar, Actualizar y Eliminar las declaraciones se muestran en este tutorial utilizando diferentes ejemplos.
Existe sintaxis de la cláusula:
Seleccione COL1, COL2, COL3 ..Crea tres tablas nombradas Compañía, artículos y clientes e inserte algunos datos. Ejecute la siguiente consulta de selección para mostrar el contenido de estas tablas.
Seleccionar * de la empresa;Ejemplo-1: Uso de la cláusula EXISTS en la consulta seleccionada
(a) Existe
La siguiente consulta recuperará registros de elementos tabla basada en compañía mesa. La subconsulta busca todos los registros de compañía mesa donde ID de la compañía de compañía La tabla es igual a ID de la compañía de elementos tabla y el valor de teléfono el campo no está vacío. Hay un registro en compañía tabla que no tiene número de teléfono y este registro se omitirá desde la salida.
Seleccione item_id, nombre, cantidadProducción:
El registro de LG no tiene entrada telefónica en la mesa de la empresa. Entonces no aparece en la salida.
(b) No existe
No existe la cláusula es opuesta a la cláusula de existe. La siguiente consulta recuperará esos registros de elementos tabla cuando la subconsulta devuelve falso.
Seleccione item_id, nombre, cantidadProducción:
No hay registro en compañía mesa donde URL del sitio web es nulo. Por lo tanto, la salida de subconsulta es falsa para todos los registros y todos los registros de la tabla de elementos se recuperan.
Ejemplo-2: Uso de la cláusula EXISTS en Insert Consuly
Según la siguiente consulta de inserción, los datos se insertarán en elementos mesa cuando ID de la compañía de ambos compañía y clientes Las tablas son iguales.
Insertar en elementosProducción:
Hay tres entradas para ID de la compañía En la tabla de los clientes con valores son 1 y 2. Por lo tanto, la subconsulta devolverá verdadero por tres veces y se insertarán tres registros.
Ejecute la consulta de selección para verificar el contenido de la tabla de elementos.
Ejemplo-3: Uso de la cláusula EXISTS en la consulta de actualización
La siguiente consulta actualizará los registros de elementos mesa donde ID de la compañía es 1 y el subconsulto devuelve verdadero.
Actualizar elementosProducción:
Aquí, la subconsulta volverá verdadera por tres veces y ID de la compañía es 1 para tres registros. Se actualizarán tres registros después de ejecutar la consulta de actualización.
Ejecute la consulta de selección para verificar el contenido de la tabla de elementos.
Ejemplo-4: Uso de la cláusula EXISTS en Delete Consuly
La siguiente consulta eliminará esos registros de elementos mesa donde ID de la compañía es 1 y el subconsulto devuelve verdadero.
Eliminar de los artículosProducción:
Hay tres registros con valor 1 de ID de la compañía Y un registro tiene valor de nombre 'No asignar'. Entonces, la condición será verdadera por tres veces y eliminará tres registros de elementos mesa.
Ejecute la consulta de selección para verificar el contenido de la tabla de elementos.
Espero que tenga una idea clara de usar la cláusula Exists en la consulta SQL después de leer este tutorial.