如何从另一个select的结果中创建一个SQL表?

时间:2010-02-05 17:54:10

标签: sql mysql

我特别要求MySQL,但答案可能适用于很多SQL数据库。

如果我有这样的选择语句:

select * from users where age > 5;

如何将其分配给新表?

4 个答案:

答案 0 :(得分:5)

insert into old_farts
select * from users where age > 5;

Here's参考页。

答案 1 :(得分:5)

至少在Oracle中,您可以执行类似

的操作
CREATE TABLE SOME_KIDS AS
  SELECT * FROM USERS WHERE AGE > 5;

答案 2 :(得分:3)

您需要使用INSERT...SELECT语法 -

INSERT INTO NewTable SELECT * FROM Users WHERE AGE > 5

(已编辑添加:在SQL中为SELECT * INTO NewTable FROM Users WHERE AGE > 5

答案 3 :(得分:1)

听起来你真正想要的是view

CREATE OR REPLACE VIEW users_over_five AS (SELECT * FROM users WHERE age > 5);

除非您需要non-normalized database,或者只是为了维护而移动数据,否则就可以使用视图了。