Using the 'from join delete' Alternative to Delete Data : Delete « Insert Delete Update « SQL / MySQL






Using the 'from join delete' Alternative to Delete Data

    
Drop table DVDs;
Drop table Studios;


CREATE TABLE DVDs
(
   DVDID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   DVDName VARCHAR(60) NOT NULL,
   NumDisks TINYINT NOT NULL DEFAULT 1,
   YearRlsd YEAR NOT NULL,
   StudID VARCHAR(4) NOT NULL
) ENGINE=INNODB;


CREATE TABLE Studios
(
   StudID VARCHAR(4) NOT NULL,
   StudDescrip VARCHAR(40) NOT NULL,
   PRIMARY KEY (StudID)
)
ENGINE=INNODB;

INSERT INTO Studios VALUES ('s101', 'Universal Studios'),
                           ('s102', 'Warner Brothers'),
                           ('s103', 'Time Warner'),
                           ('s104', 'Columbia Pictures'),
                           ('s105', 'Paramount Pictures'),
                           ('s106', 'Twentieth Century Fox'),
                           ('s107', 'Merchant Ivory Production');


INSERT INTO DVDs 
(DVDName, NumDisks, YearRlsd, StudID)
VALUES 
     ('Christmas', 1, 2000, 's105'),
     ('What',      1, 2001, 's103'),
     ('Out',       1, 2000, 's101'),
     ('Falcon',    1, 2000, 's103'),
     ('Amadeus',   1, 1997, 's103'),
     ('Show',      2, 2000, 's106'),
     ('View',      1, 2000, 's107'),
     ('Mash',      2, 2001, 's106');


select * from DVDs;

DELETE DVDs
FROM DVDs, Studios
WHERE DVDs.StudID=Studios.StudID
   AND Studios.StudDescrip='New Line Cinema';


select * from DVDs;

           
         
    
    
    
  








Related examples in the same category

1.Deleting Rows with DELETE
2.Using DELETE LOW_PRIORITY command
3.Delete by JOIN
4.Delete with JOIN 2
5.Delete row with condition
6.Delete statement with subquery (ERROR 1093 (HY000): You can't specify target table 'EmployeeS' for update in FROM clause)
7.DELETE statement using the alternative.
8.Joining Tables in a DELETE Statement
9.Delete with where clause
10.Delete ignore
11.Adding Subqueries to Your DELETE Statements
12.Delete All Threads Except the Last 500
13.Delete rows from multiple tables