SELECT * FROM PurchasesDetail ORDER BY ParentId , ProductNoDELETE FROM PurchasesDetail WHERE Qty < 12SELECT * FROM PurchasesDetail ORDER BY ParentId , ProductNo
執行 SQL 指令:
SELECT * FROM PurchasesDetail ORDER BY ParentId , ProductNoDELETE FROM PurchasesDetail WHERE Qty < 12
刪除 Qty < 12,執行 SQL 指令: DELETE FROM PurchasesDetail WHERE Qty < 12
Id =1 與 Id = 3 被刪除。
刪除符合子查詢條件的資料列
刪除條件來自另一個 Table
--商品標準單價設定檔SELECT * FROM StandardPrice ORDER BY ProductNo--商品銷售記錄檔SELECT SalesRecord.* StandardPrice.StandardPriceSalesRecord.SalePrice - StandardPrice.StandardPrice AS DifferencePriceFROM SalesRecordLEFT OUTER JOIN StandardPrice ON StandardPrice.ProductNo = SalesRecord.ProductNoORDER BY SalesRecord. Id--商品銷售單價低於標準單價記錄SELECT * FROM SalesRecord WHERE SalePrice <(SELECT StandardPrice FROM StandardPrice WHERE ProductNo = SalesRecord.ProductNo)ORDER BY Id--刪除商品銷售單價低於標準單價記錄DELETE FROM SalesRecord WHERE SalePrice <(SELECT StandardPrice FROM StandardPrice WHERE ProductNo = SalesRecord.ProductNo)--刪除後商品銷售記錄檔
-- 商品銷售記錄檔 (包含計算價差)SELECT SalesRecord.*, StandardPrice.StandardPrice, SalesRecord.SalePrice - StandardPrice.StandardPrice AS DifferencePriceFROM SalesRecordLEFT OUTER JOIN StandardPrice ON StandardPrice.ProductNo = SalesRecord.ProductNoORDER BY SalesRecord.Id
只單純列出商品銷售單價低於標準單價記錄的SQL,總共只有三筆。
-- 商品銷售單價低於標準單價記錄 SELECT * FROM SalesRecord WHERE SalePrice < (SELECT StandardPrice FROM StandardPrice WHERE ProductNo = SalesRecord.ProductNo)ORDER BY Id
說明
— 商品銷售單價低於標準單價記錄
取出銷售紀錄所有資料,當單價(SalePrice) < 標準單價(來自於另一 Table 設定)
SELECT * FROM SalesRecord WHERE (SalePrice) < 標準單價(來自於另一 Table 設定)
SELECT * FROM SalesRecord WHERE (SalePrice) < 標準單價(子查詢)
— 子查詢內容
從標準單價設定檔(StandardPrice) 取出標準單價(StandardPrice),條件是要跟我的商品編號相同 (WHERE ProductNo = SalesRecord.ProductNo)
SELECT * FROM SalesRecord WHERE (SalePrice) < (SELECT StandardPrice FROM StandardPrice WHERE ProductNo = SalesRecord.ProductNo)
— 刪除商品銷售單價低於標準單價記錄
DELETE FROM SalesRecord WHERE SalePrice < (SELECT StandardPrice FROM StandardPrice WHERE ProductNo = SalesRecord.ProductNo)
也可以查詢銷售紀錄檔,使用指令: SELECT * FROM SalesRecord,可看到資料Id=1、Id=6、Id=14都不見了。
刪除全部資料
刪除資料分兩種指令:
Truncate: 不可以指定條件,全部內容
DELETE: 可以指定條件,部分內容
SELECT * FROM SalesRecord ORDER BY SaleDate , ProductNo--DELETE FROM SalesRecordTRUNCATE TABLE SaleRecord--SELECT * FROM SalesRecord ORDER BY SaleDate , ProductNo