创建表的复制;使用select语句作为子查询

从一张表复制数据到另外一张表

/*为了创建新表我们使用create table 新建的表明as*/
CREATE TABLE orders_archived AS 
SELECT * FROM orders

 注意我们新创建的表没有把id当作主列,也没有自动升序

 /*为了创建新表我们使用create table 新建的表明as*/
CREATE TABLE orders_archived AS 
SELECT * FROM orders
/*这是SELECT * FROM orders
子查询
子查询是另外一段sql语句的选择语句
我们也可以在insert语句下用一段子查询*/

INSERT INTO orders_archived
SELECT *
FROM orders
WHERE order_date < '2019-01-01'
/*这是SELECT * FROM orders
子查询
子查询是另外一段sql语句的选择语句
我们也可以在insert语句下用一段子查询
我们可以用select语句作为insert语句里的子查询*/

 练习:

 创造上述表部分记录的复制,并置于新表invoices_archived中,但是那张表我们不想要顾客id列,我们想要顾客名列,另外只复制支付过的发票

思路:首先我们要得到想要复制的表,既然想要顾客名列所以需要join

CREATE TABLE invoices_aarchived AS 
SELECT
	i.invoice_id,
    i.number,
    c.name AS client,
    i.invoice_total,
    i.payment_total,
    i.invoice_date,
    i.due_date,
    i.payment_date
FROM invoices i
JOIN clients c
	USING(client_id)
WHERE payment_date IS NOT NULL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值