1. 程式人生 > >子查詢在DELETE語句中的應用

子查詢在DELETE語句中的應用

子查詢在DELETE 中唯一可以應用的位置就是WHERE 子句,使用子查詢可以完成複雜的資料刪除控制。其使用方式與SELECT 語句中的子查詢基本相同,而且也可以使用相關子查詢等高階的特性。下面的SQL語句用來將所有同類書本書超過3 本的圖書刪除:


DELETE FROM T_Book b1

WHERE

(

    SELECT COUNT(*) FROM T_Book b2 WHERE b1. FCategoryId=b2. FCategoryId )>3 

上面的SQL 語句使用相關子查詢來查詢所有與待更新的書籍屬於同類別的書籍的總數,如果總數大於3則將當前書籍刪除。

執行完畢檢視T_Book表中的內容:


FID FNAME FYEARPUBLISHED FCATEGORYID

1 About J2EE 2008 4

2 Learning Hibernate 2008 4

3 Two Cites 2008 1

4 Jane Eyre 2008 1

5 Oliver Twist 2008 1

14 How To Singing 2008 5

15 DaoDeJing 2008 6

16 Obedience toAuthority 2008 6