PostgreSQL ELIMINAR Filas de la selección
⚡ Resumen inteligente
PostgreSQL La instrucción DELETE elimina una o más filas de una tabla, y si se combina con una cláusula WHERE, solo se seleccionan los registros que coinciden con una condición, mientras que si se omite WHERE se eliminan todas las filas de la tabla.

Eliminar consulta en PostgreSQL
El Declaración ELIMINAR in PostgreSQL se utiliza para eliminar uno o más registros de una tabla. Para eliminar solo las filas seleccionadas de una tabla, PostgreSQL Permite combinar la instrucción DELETE con la cláusula WHERE; de lo contrario, elimina todos los registros de la tabla.
PostgreSQL Sintaxis de consulta de eliminación
La instrucción DELETE se puede definir utilizando la siguiente sintaxis:
[ WITH [ RECURSIVE ] with-query [, ...] ] DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ] [ USING using-list ] [ WHERE condition(s) | WHERE CURRENT OF cursor-name] [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]
Parámetros
Los siguientes parámetros están disponibles:
- con-consultaLa cláusula WITH permite hacer referencia a una o más subconsultas por nombre dentro de la consulta DELETE.
- nombre de la tabla: el nombre de la tabla de la que se eliminarán los registros.
- alias: un sustituto del nombre de la tabla de destino.
- lista de uso: expresiones de tabla que permiten utilizar columnas de otras tablas en la cláusula WHERE.
- condiciones): opcional. Estas son las condiciones que deben cumplirse para que se eliminen los registros. Si no se proporciona esta sección, se eliminarán todos los registros con el nombre de tabla especificado.
- nombre-cursor: el cursor que se utilizará en la condición WHERE CURRENT OF. La última fila obtenida por este cursor se eliminará.
- expresión-salida: la expresión que será procesada y devuelta por la instrucción DELETE después de que se elimine cada fila.
- nombre-salida: el nombre que se utilizará para la columna devuelta.
Tenga en cuenta que, dado que la instrucción DELETE elimina la fila completa, no es necesario especificar los nombres de las columnas.
PostgreSQL Eliminar consulta con una condición
La instrucción DELETE se puede usar con una sola condición, que se establece mediante la cláusula WHERE. Considere la tabla Precio con los siguientes datos:
Precio:
Eliminemos el registro con una identificación de 4:
DELETE FROM Price WHERE id = 4;
El comando anterior elimina los registros cuyo ID sea 4. Confirmemos si la eliminación se realizó correctamente:
Se ha eliminado la fila con una identificación de 4.
Eliminar consulta con dos condiciones
El PostgreSQL La instrucción DELETE también puede aceptar dos condiciones. Estas dos condiciones deben combinarse mediante el operador AND. Utilizaremos la siguiente tabla:
Precio:
Considere el ejemplo que se da a continuación:
DELETE FROM Price WHERE id = 3 AND price = 300;
En el comando anterior, estamos eliminando la fila en la que el ID es 3 y el precio es 300. Ahora podemos consultar la tabla:
SELECT * FROM Price;
Esto devuelve lo siguiente:
Se eliminó el registro con una identificación de 3 y un precio de 300.
PostgreSQL Consulta de eliminación mediante condición EXISTS
Con la función EXISTE En ciertas condiciones, puede hacer que la operación DELETE sea más compleja. A veces puede ser necesario eliminar registros de una tabla en función de los registros de otra tabla.
Dado que la cláusula FROM no permite listar registros de más de una tabla al realizar una eliminación, la cláusula EXISTS resulta muy útil. Tenemos las siguientes dos tablas:
Libro:
Precio:
Luego podemos ejecutar la siguiente consulta:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
El comando elimina las filas de la tabla Book que tienen un ID coincidente en la tabla Price con un precio inferior a 250.
La tabla Libro ahora es la siguiente:
Se eliminó el registro con una identificación de 1.
Cómo eliminar una fila en PostgreSQL usando pgAdmin
Las mismas consultas de eliminación también se pueden ejecutar visualmente a través de la interfaz de pgAdmin, siguiendo los pasos que se indican a continuación:
Con una condición
Paso 1) Inicia sesión en tu cuenta de pgAdmin. Abre pgAdmin e inicia sesión en tu cuenta con tus credenciales.
Paso 2) Crea una base de datos de demostración.
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la siguiente consulta en el editor de consultas:
DELETE FROM Price WHERE id = 4;
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Vamos a comprobar si la fila fue eliminada:
Con dos condiciones
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
DELETE FROM Price WHERE id = 3 AND price = 300;
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Comprobemos si la eliminación se realizó correctamente:
Usando la condición EXISTE
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- En la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Comprobemos si la eliminación se realizó correctamente:
Descargue la Base de Datos utilizada en este Tutorial
















