create table as 与create table like

相同点:

都是创建一个新表

不同点
  • create table as 只是复制原数据,其实就是把查询的结果建一个表
  • create table like 产生与源表相同的表结构,包括索引和主键,数据需要用insert into 语句复制进去。

举例:

DROP TABLE IF EXISTS tbxxx;
CREATE TABLE tbxxx LIKE tbsrc;
INSERT INTO tbxxx PARTITION (platform_id)
SELECT
...
u.created_at,
u.updated_at,
CASE WHEN n.user_id IS NULL THEN 0 ELSE 1 END AS noise,
u.platform_id
FROM tbsrc AS u
LEFT JOIN transforms.medicine_inquiry_user_noise AS n
ON u.user_id = n.user_id;

你可能感兴趣的:(sql)