
[ { UNION [ ALL ] | MINUS | EXCEPT | INTERSECT } select ] [ ORDER BY order [,...] ]
[ LIMIT expression [ OFFSET expression ] [ SAMPLE_SIZE rowCountInt ] ]
[ FOR UPDATE ]
从一张表或多张表查询数据。GROUP BY 根据给定的表达式(expression)
将结果进行分组,HAVING 是在分组之后进行行过滤。ORDER BY 根据给定
的字段或表达式对结果集进行排序。UNION 联合这个查询的结果集和另一个
查询的结果集。
LIMIT 限制查询返回的行数,OFFSET 指定多少行被跳过, SAMPLE_SIZE
限制聚集查询读取的行数。
如果指定 FOR UPDATE,表被锁定用于写。
例子如下:
SELECT * FROM TEST;
SELECT * FROM TEST ORDER BY NAME;
SELECT ID, COUNT(*) FROM TEST GROUP BY ID;
SELECT NAME, COUNT(*) FROM TEST GROUP BY NAME HAVING
COUNT(*) > 2;
SELECT 'ID' COL, MAX(ID) AS MAX FROM TEST UNION SELECT 'NAME',
MAX(NAME) FROM TEST;
SELECT * FROM TEST LIMIT 1000;
SELECT * FROM (SELECT ID, COUNT(*) FROM TEST
GROUP BY ID UNION SELECT NULL, COUNT(*) FROM TEST)
ORDER BY 1 NULLS LAST;
INSERT
INSERT INTO tableName [ ( columnName [,...] ) ]
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
插入新行到表中。
例子如下:
INSERT INTO TEST VALUES(1, 'Hello')
评论0