UPDATE、DELETE 與 INSERT 陳述式中的子查詢
很多時候,你原來很熟悉的事物會被一下子遺忘掉,任你怎麼想都想不是很真切,這不,今天想在SQL更新中使用子查詢,卻一下子忘了語法,不得已又查了一下幫助,摘錄如下:
可以將子查詢 (Subquery) 套疊 (Nested) 於 UPDATE、DELETE 與 INSERT 陳述式中,以及位於 SELECT 陳述式之中。
下列查詢可將 New Moon Books 出版的所有書籍價格加倍。下列查詢將會更新 titles 資料表;它的子查詢會參考 publishers 資料表。
UPDATE titles SET price = price * 2 WHERE pub_id IN (SELECT pub_id FROM publishers WHERE pub_name = 'New Moon Books')
下列為使用聯結 (Join) 的相等 UPDATE 陳述式:
UPDATE titles SET price = price * 2 FROM titles INNER JOIN publishers ON titles.pub_id = publishers.pub_id AND pub_name = 'New Moon Books'
您可使用此巢狀查詢移除商業書籍的所有銷售記錄:
DELETE sales WHERE title_id IN (SELECT title_id FROM titles WHERE type = 'business')
下列為使用聯結的相等 DELETE 陳述式:
DELETE sales FROM sales INNER JOIN titles ON sales.title_id = titles.title_id AND type = 'business'

浙公网安备 33010602011771号