SQL Server: declaración de eliminación

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

SQL Server: declaración de eliminación

Este tutorial de SQL Server describe cómo usar eliminar declaración Sintaxis y ejemplos en SQL Server (Transact-SQL).

describir

La instrucción DELETE de SQL Server (Transact-SQL) se usa para eliminar uno o más registros de una tabla en SQL Server.

sintaxis

En su forma más simple, la sintaxis de la instrucción DELETE en SQL Server (Transact-SQL) es:

DELETE FROM table
[WHERE conditions];

Sin embargo, la sintaxis completa de la instrucción DELETE en SQL Server (Transact-SQL) es:

DELETE [ TOP (top_value) [ PERCENT ] ]
FROM table
[WHERE conditions];

parámetro o parámetro

tabla La tabla de la que desea eliminar registros. La condición WHERE es opcional. La condición que debe cumplir el registro a borrar. TOP (valor_superior) Opcional. Si se especifica, eliminará las primeras filas del conjunto de resultados según top_value. Por ejemplo, TOP(10) eliminará las primeras 10 filas que coincidan con la condición de eliminación. El porcentaje es opcional. Si se especifica PERCENT, la fila superior se basa en el porcentaje top_value del conjunto de resultados total (especificado por el valor PERCENT). Por ejemplo, TOP(10) PERCENT eliminará el 10% superior de los registros que coincidan con los criterios de eliminación.

notas

  • No necesita enumerar los campos en la declaración DELETE de SQL Server porque está eliminando la fila completa de la tabla.

Ejemplo: usar una condición

Veamos un ejemplo de una consulta DELETE simple de SQL Server con solo una condición en la instrucción DELETE.

Por ejemplo:

DELETE FROM employees
WHERE first_name="Sarah";

Este ejemplo de ELIMINACIÓN de SQL Server eliminará todos los registros con un nombre de “Sarah” de la tabla de empleados.

Es posible que desee verificar la cantidad de filas que se eliminarán.Puede determinar la cantidad de filas que se eliminarán ejecutando la siguiente instrucción SELECT adelante Ejecutar borrar.

SELECT count(*)
FROM employees
WHERE first_name="Sarah";

Ejemplo – usando dos condiciones

Veamos un ejemplo de DELETE de SQL Server donde solo hay dos condiciones en la instrucción DELETE.

Por ejemplo:

DELETE FROM employees
WHERE last_name="Johnson"
AND employee_id >= 80;

Este ejemplo de ELIMINACIÓN de SQL Server eliminará todos los registros con un last_name de “Johnson” y un employee_id mayor o igual a 80 de la tabla de empleados.

Es posible que desee verificar la cantidad de filas que se eliminarán.Puede determinar la cantidad de filas que se eliminarán ejecutando la siguiente instrucción SELECT adelante Ejecutar borrar.

SELECT count(*)
FROM employees
WHERE last_name="Johnson"
AND employee_id >= 80;

Ejemplo: uso de la palabra clave TOP

Veamos un ejemplo de DELETE de SQL Server donde usamos la palabra clave TOP en la instrucción DELETE.

Por ejemplo:

DELETE TOP(3)
FROM employees
WHERE last_name="Johnson";

Este ejemplo de ELIMINACIÓN de SQL Server eliminará los primeros 3 registros con un apellido de “Johnson” de la tabla de empleados. Si otros registros en la tabla de empleados tienen un valor last_name de ‘Johnson’, no se verán afectados por la instrucción DELETE.

Ejemplo: uso de la cláusula EXISTS

También puede realizar eliminaciones más complejas.

Es posible que desee eliminar registros en una tabla en función de los valores en otra tabla. Dado que no se pueden enumerar varias tablas en la cláusula FROM de SQL Server cuando se realiza una eliminación, se puede usar la cláusula EXISTS de SQL Server.

Por ejemplo:

DELETE FROM employees
WHERE EXISTS
  ( SELECT *
    FROM contacts
    WHERE contacts.contact_id = employees.employee_id
    AND contacts.contact_id < 100 );

Este ejemplo de SQL Server DELETE elimina todos los registros en la tabla de empleados donde hay un registro en la tabla de contactos cuyo contact_id es menor que 100 y cuyo contact_id coincide con employee_id.

Si desea determinar la cantidad de filas que se eliminarán, puede ejecutar la siguiente instrucción SELECT de SQL Server adelante Ejecutar borrar.

SELECT COUNT(*)
FROM employees
WHERE EXISTS
  ( SELECT *
    FROM contacts
    WHERE contacts.contact_id = employees.employee_id
    AND contacts.contact_id < 100 );