在单个查询中创建多个表

时间:2019-12-05 15:25:24

标签: sql

是否可以通过单个查询输出多个表? 下面的代码不正确,只是为了显示主要思想:

create table A, B, C AS
(select * from main_table where x = 5) AS A
(select * from main_table where x = 8) AS B
(select * from main_table where x = 2) AS C

2 个答案:

答案 0 :(得分:0)

如果您的意思是单个SQL语句,则不会。您肯定可以在一个脚本中一个接一个地执行此操作,该脚本可以运行一遍。

答案 1 :(得分:0)

正如@gordon在评论中建议的那样,您可以在一个脚本中完成所有操作:

CREATE TABLE a AS (SELECT * FROM main_table WHERE x = 5);
CREATE TABLE b AS (SELECT * FROM main_table WHERE x = 8);
CREATE TABLE c AS (SELECT * FROM main_table WHERE x = 2);