Salta el contingut

Escriptures a la Base de Dades - DELETE

DELETE

La comanda DELETE s'utilitza per eliminar files existents en una taula.

La comanda necessita dos paràmetres:

  • el nom de la taula,

  • una condició que identifiqui les files de la taula que volem suprimir.

Video: No te olvides de poner el Where en el Delete From. (Una canción para programadores)

Eliminem una fila

Amb un exemple suprimirem la fila que representa l'empleat de codi 303 de la taula copy_employees.

DELETE FROM copy_employees
WHERE employee_id = 303;

Compte a l’eliminar files, Si oblidem la clàusula WHERE, s’eliminaran totes les files de la taula.

DELETE FROM copy_employees;
select * from copy_employees;
Empty set (0.009 sec)

DELETE amb subconsulta

Podem utilitzar el resultat d’una subconsulta en la condició WHERE de la sentència DELETE.

Suprimirem els empleats del departament d'Enviaments (Shipping).

Eliminem els empleats del departament Shipping
DELETE FROM copy_employees
WHERE department_id =
     (SELECT department_id
      FROM departments
      WHERE department_name = 'Shipping');

Suprimirem els empleats que treballen per un cap que gestiona més de 2 empleats (subordinats).

Eliminem els empleats subordinats per un cap amb més de 2 subordinats
DELETE FROM copy_employees
WHERE manager_id IN
     (SELECT manager_id
      FROM copy_employees
      GROUP BY manager_id
      HAVING COUNT(*) > 2);