一、單表查詢數據庫
SELECT col1, col2 AS c2 -- 列別名 FROM t; -- 基本查詢 SELECT * FROM t; -- 查詢全部字段 SELECT col1, col2, … FROM t WHERE conditions; -- 過濾條件 SELECT col1, col2, … FROM t ORDER BY col1 ASC, col2 DESC; -- 排序 SELECT col1, col2, … FROM t ORDER BY col1 ASC, col2 DESC OFFSET m ROWS FETCH FIRST n ROWS ONLY; -- 限定數量 LIMIT n OFFSET m; -- 非標準實現 SELECT col1, col2, agg_fun() -- 聚合函數 FROM t GROUP BY col1, col2 -- 分組彙總 HAVING conditions; -- 分組後過濾
二、多表鏈接編程
SELECT t1.col1, t2.col2, … FROM t1 INNER JOIN t2 ON conditions; -- 內鏈接 SELECT t1.col1, t2.col2, … FROM t1 LEFT JOIN t2 ON conditions; -- 左鏈接 SELECT t1.col1, t2.col2, … FROM t1 RIGHT JOIN t2 ON conditions; -- 右鏈接 SELECT t1.col1, t2.col2, … FROM t1 FULL JOIN t2 ON conditions; -- 全鏈接 SELECT t1.col1, t2.col2, … FROM t1 CROSS JOIN t2 ON conditions;-- 交叉鏈接 SELECT a.col1, b.col2, … FROM t1 a -- 表別名 JOIN t1 b ON conditions; -- 自鏈接
三、集合運算編程語言
SELECT col1, col2, … FROM t1 UNION [ALL] SELECT c1, c2, … FROM t2; -- 並集運算 SELECT col1, col2, … FROM t1 INTERSECT SELECT c1, c2, … FROM t2; -- 交集運算 SELECT col1, col2, … FROM t1 EXCEPT -- MINUS SELECT c1, c2, … FROM t2; -- 差集運算
四、子查詢函數
SELECT col1, (subquery) AS c2 -- 標量子查詢 FROM t; SELECT col1, col2, … -- 行子查詢 FROM t WHERE (col1, col2) = (subquery); SELECT t1.col1, t2.c2, … FROM t1 JOIN (subquery) t2 -- 表子查詢 ON conditions; SELECT t1.col1, t1.col2, … FROM t1 WHERE EXISTS ( -- 關聯子查詢 SELECT 1FROM t2 WHERE t2.c1 = t1.col1);
五、數據操做code
INSERT INTO t(col1, col2, …) VALUES (val1, val2, …); -- 插入單條數據 INSERT INTO t(col1, col2, …) SELECT …; -- 插入查詢結果 UPDATE t SET col1 = val1, col2 = val2 WHERE conditions; -- 更新數據 DELETE FROM t WHERE conditions; -- 刪除數據 MEGRE INTO t1 USING t2 ON (condition) WHEN MATCHED THEN UPDATE SET col1 = val1, col2 = val2, ... WHEN NOT MATCHED THEN INSERT (col1, col2, ...) VALUES (val1, val2, ...); -- 合併數據
六、數據定義排序
CREATE TABLE t ( col1 INT NOT NULL PRIMARY KEY, col2 VARCHAR(50) NOT NULL, col3 DATE ); -- 建立表 CREATE TABLE t(col1, col2, …) SELECT … ; -- 基於查詢結果建立表 ALTER TABLE t ADD col3 INT; -- 增長字段 ALTER TABLE t RENAME COLUMN col1 TO c1; ALTER TABLE t DROP COLUMN col1; DROP TABLE t; -- 刪除表 TRUNCATE TABLE t; -- 刪除表中全部數據 CREATE VIEW v AS SELECT …; -- 建立視圖 DROP VIEW v; -- 刪除視圖 CREATE [UNIQUE] INDEX idx ON t(col1, col2); -- 建立索引 DROP INDEX idx; -- 刪除索引
擴展內容
• 查詢條件包括:=、!=、<>、<、<=、>、>=、BETWEEN、IN、EXISTS、LIKE、AND、OR、NOT、IS [NOT] NULL、ANY、ALL
• 完整性約束包括:PRIMARY KEY、NOT NULL、FOREIGN KEY、CHECK、UNIQUE、DEFAULT。
• 常見聚合函數:AVG、COUNT、SUM、MIN、MAX。索引