-- 精確比對
SELECT * FROM Table WHERE Col = 'Value' ORDER BY Col [DESC];
-- 模糊查詢
SELECT * FROM Table WHERE Col LIKE '%Keyword%' ORDER BY Col [DESC];
-- 前 N 筆
SELECT TOP 10 * FROM Table WHERE Col = 'Value' ORDER BY Col [DESC];
-- 列表比對
SELECT * FROM Table WHERE Col IN ('V1','V2','V3');
-- 範圍
SELECT * FROM Table WHERE Col BETWEEN Val1 AND Val2;
-- 單欄
UPDATE Table SET Col = 'NewVal' WHERE Condition;
-- 多欄
UPDATE Table SET Col1=Val1, Col2=Val2, ..., ColN=ValN WHERE Condition;
-- 條件刪除
DELETE FROM Table WHERE Condition;
-- 全表清空 (極速、重設 IDENTITY、最小日誌)
TRUNCATE TABLE Table;
-- 指定欄位
INSERT INTO Table (Col1, Col2, Col3) VALUES (Val1, Val2, Val3);
-- 跨表複製
INSERT INTO TargetTable SELECT * FROM SourceTable;
| 函數 | 說明 | 範例 |
|---|---|---|
| AVG(Col) | 平均值 | SELECT AVG(Price) AS AvgPrice FROM Products |
| COUNT(*) / COUNT(Col) | 總列數 / 非 NULL 列數 | SELECT COUNT(*) AS Cnt FROM Orders |
| MAX(Col) | 最大值 | SELECT MAX(Salary) FROM Employees |
| MIN(Col) | 最小值 | SELECT MIN(Salary) FROM Employees |
| SUM(Col) | 加總 | SELECT SUM(Amount) FROM Sales |
取得值:SET Rs = Conn.Execute("SELECT SUM(Col) AS Total FROM Table"); Total = Rs("Total")
CREATE TABLE TableName (
Col1 Type1(Length),
Col2 Type2(Length) DEFAULT DefaultValue,
...
);
DROP TABLE TableName; -- 永久刪除
範例:CREATE TABLE Tab01 (Name VARCHAR(50), CreateDate DATETIME DEFAULT GETDATE())
| 方法/屬性 | 作用 |
|---|---|
| MoveNext / MovePrevious | 游標上/下移一列 |
| MoveFirst / MoveLast | 移至首/尾列 |
| AbsolutePosition = N | 移至第 N 列 |
| PageSize = N | 設定每頁筆數 |
| PageCount | 取得總頁數 |
| RecordCount | 取得總筆數 |
| BOF / EOF | 是否超出首/尾 |
| AddNew / Update / Delete | 編輯模式新增/更新/刪除 |
-- 去重
SELECT DISTINCT Col FROM Table;
-- 日期範圍 (含時分秒欄位)
SELECT * FROM Table WHERE DateTimeCol BETWEEN '2003-08-10' AND '2003-08-12';
-- 隨機取樣
SELECT TOP N * FROM Table ORDER BY NEWID();
-- 複製結構無資料
SELECT * INTO NewTable FROM SrcTable WHERE 1=2;
-- 刪除欄位
ALTER TABLE BankBill DROP COLUMN Zsl;