PostgreSQL中遍历schema_table批量提取name列数据的方法
解决方案:合并多Schema表的name列数据
1. 合并所有name数据(保留重复值)
使用UNION ALL可以将三个表的name列数据全部合并,包含重复的记录:
SELECT name FROM class.id UNION ALL SELECT name FROM class2.grade UNION ALL SELECT name FROM class.address;
2. 合并去重后的name数据
如果需要得到唯一的name列表,用UNION会自动去除重复值:
SELECT name FROM class.id UNION SELECT name FROM class2.grade UNION SELECT name FROM class.address;
3. 将结果存入新的name表
如果要直接生成一张存储合并结果的name表,可以用CREATE TABLE ... AS语句:
生成包含所有记录的name表:
CREATE TABLE name AS SELECT name FROM class.id UNION ALL SELECT name FROM class2.grade UNION ALL SELECT name FROM class.address;
生成去重后的name表:
CREATE TABLE name AS SELECT name FROM class.id UNION SELECT name FROM class2.grade UNION SELECT name FROM class.address;
注:上述语法适用于大多数主流关系型数据库(MySQL、PostgreSQL、SQL Server等),不同数据库可能有细微的语法调整,但核心逻辑一致。
内容的提问来源于stack exchange,提问作者yearntolearn
相关产品推荐
相关产品推荐

