SQL 命令練習
SQL 命令練習
SQL 命令練習
2. 挑選有購買紀錄的 CustomerID 欄位
SELECT DISTINCT custID FROM OrderForm;
// NG: SELECT CustomerID, Name, Address, ZIP, TotalPayment FROM Customer ORDER
BY TotalPayment WHERE ZIP LIKE '1%' ;
26. 同上,依購買次數由大到小排列
SELECT Custid, COUNT(*) FROM OrderForm GROUP BY CustId ORDER BY COUNT(*) DESC;
31 別名顯示
SELECT OF.Custid '客戶編號' , sum(OF.totalAmount) - sum(OF.Paidamount) '差額'
FROM OrderForm OF GROUP BY CustId
HAVING sum(totalAmount) - sum(Paidamount) > 0;
35. 顯示所有的客戶編號、ORDERID、訂購日期、totalamount、訂購數量 * 單價
等訂單資訊
SELECT CustomerID, ORDERID, OrderDate, totalAmount, SUM(amount* Price)
FROM Customer c, ORDERFORM of, OrderLine, Product
WHERE CustomerID = CUSTID
AND orderIDOL = ORDERID AND productIDOL = ProductID
GROUP BY OrderID;
40. JOIN
SELECT * FROM COFFEES CROSS JOIN Suppliers;
41.
SELECT COF_Name, PRICE, SUP_Name FROM COFFEES c CROSS JOIN Suppliers s;
(3) SELECT * FROM Coffees t1 WHERE (SELECT COUNT(*) FROM Coffees t2 WHERE t2.sup_id
< t1.sup_id ) >= 10 AND
(SELECT COUNT(*) FROM Coffees t2 WHERE t2.sup_id
< t1.sup_id ) < 20;
目的:挑出第 11 筆開始的 10 筆紀錄
說明:由第一筆開始,逐筆算出小於該筆記錄的個數,如果個數大於等於 10,且小於 20, 則挑出此紀錄