数据库联表Sql语句建一个新表(MySQL,Postgresql,SQL server)

数据库联表Sql语句建一个新表(MySQL,Postgresql,SQL server)

如果你想基于 SELECT USERS.ID,USERS.NAME,USERS.EMAIL,USERS.ID_CARD,USERS.V_CARD,USERS.ADDRESS,v_card.type,v_card.amount FROM USERS JOIN v_card on USERS.V_CARD=v_card.v_card 这个查询结果创建一个新表,可以使用不同数据库系统提供的 CREATE TABLE AS 或者 SELECT ... INTO 语句。下面为你分别介绍在常见数据库系统中的实现方法。

MySQL

在 MySQL 中,你可以使用 CREATE TABLE ... AS 语句来根据查询结果创建新表,示例如下:

sql

CREATE TABLE new_table AS
SELECT USERS.ID,
       USERS.NAME,
       USERS.EMAIL,
       USERS.ID_CARD,
       USERS.V_CARD,
       USERS.ADDRESS,
       v_card.type,
       v_card.amount
FROM USERS
JOIN v_card ON USERS.V_CARD = v_card.v_card;

上述代码中,new_table 是你要创建的新表的名称,CREATE TABLE ... AS 会将查询结果的列结构和数据复制到新表中。

PostgreSQL

PostgreSQL 同样支持 CREATE TABLE ... AS 语法,示例代码如下:

sql

CREATE TABLE new_table AS
SELECT USERS.ID,
       USERS.NAME,
       USERS.EMAIL,
       USERS.ID_CARD,
       USERS.V_CARD,
       USERS.ADDRESS,
       v_card.type,
       v_card.amount
FROM USERS
JOIN v_card ON USERS.V_CARD = v_card.v_card;

这里的 new_table 是新表的名称,该语句会按照查询结果生成新表。

SQL Server

在 SQL Server 中,可以使用 SELECT ... INTO 语句来创建新表,示例如下:

sql

SELECT USERS.ID,
       USERS.NAME,
       USERS.EMAIL,
       USERS.ID_CARD,
       USERS.V_CARD,
       USERS.ADDRESS,
       v_card.type,
       v_card.amount
INTO new_table
FROM USERS
JOIN v_card ON USERS.V_CARD = v_card.v_card;

此代码将查询结果插入到新创建的 new_table 中。

注意事项

  • 新表的列名和数据类型会根据查询结果自动推断生成。
  • 不同数据库系统对于表名、列名等的命名规则可能存在差异,要遵循对应数据库的规则。
  • 上述代码中的 new_table 可以替换为你实际想要的表名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁儿数据安全

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值