1、数据表及csv文件的导入导出(数据表已经建好):
(1)将t1导出位csv文件src.csv(带列名):
COPY t1 TO '文件位置\\src.csv' WITH CSV HEADER;(2)将src.csv导入数据库的t2表中:
COPY t2 FROM '文件位置\\src.csv' WITH CSV HEADER;
2、从表t2中查询一些字段插入到表t1中:
INSERT INTO 表1(字段1,字段2,字段3) SELECT 字段1,字段3 FROM t2;
3、根据表t1中的字段1在表t2中查找对应的字段2,如根据表t1中的id在表t2中查找学号为id的学生的age。
SELECT age FROM t2 WHERE id IN (SELECT id FROM t1);
4、根据t1和t2中的公共字段id将表t2中的字段1和字段2更新到表t1:
UPDATE t1 SET 字段1 = (SELECT t2.字段1 FROM t2 WHERE t1.id = t2.id),字段2 = (SELECT t2.字段2 FROM t2 WHERE t1.id = t2.id);注意:若t2中有相同的id,则在执行时会出错。
5、统计表table中不同的(字段1,字段2)及数量(不考虑其他字段是否相同):
select distinct (字段1,字段2),count(*) from table group by (字段1,字段2);
6、根据id分组,最多显示表table中每个分组的x条记录。
SELECT * FROM ( SELECT *,row_number() OVER(PARTITION BY id) AS ROW FROM table) t WHERE ROW <= x;