Mega Code Archive

 
Categories / MSSQL Tutorial / Query
 

Use subqueries to restrict what rows in a table will be deleted

3> 4> CREATE TABLE titles( 5>    title_id       varchar(20), 6>    title          varchar(80)       NOT NULL, 7>    type           char(12)          NOT NULL, 8>    pub_id         char(4)               NULL, 9>    price          money                 NULL, 10>    advance        money                 NULL, 11>    royalty        int                   NULL, 12>    ytd_sales      int                   NULL, 13>    notes          varchar(200)          NULL, 14>    pubdate        datetime          NOT NULL 15> ) 16> GO 1> 2> CREATE TABLE sales( 3>    stor_id        char(4)           NOT NULL, 4>    ord_num        varchar(20)       NOT NULL, 5>    ord_date       datetime          NOT NULL, 6>    qty            smallint          NOT NULL, 7>    payterms       varchar(12)       NOT NULL, 8>    title_id       varchar(80) 9> ) 10> GO 1> insert sales values('1', 'QA7442.3', '09/13/94', 75, 'ON Billing','1') 2> insert sales values('2', 'D4482',    '09/14/94', 10, 'Net 60',    '1') 3> insert sales values('3', 'N914008',  '09/14/94', 20, 'Net 30',    '2') 4> insert sales values('4', 'N914014',  '09/14/94', 25, 'Net 30',    '3') 5> insert sales values('5', '423LL922', '09/14/94', 15, 'ON Billing','3') 6> insert sales values('6', '423LL930', '09/14/94', 10, 'ON Billing','2') 7> GO (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) 1> 2>      DELETE    sales 3>      WHERE     title_id IN 4>                (SELECT    title_id from titles 5>                WHERE      pub_id = '1389') 6> 7> 8> GO (0 rows affected) 1> 2> drop table sales; 3> 4> drop table titles; 5> GO