语句:

SELECT * FROM
( VALUES
  ('001,', '阿阳', 13),
  ('002,', '阿震', 14),
  ('002,', '东哥', 15),
  ('002,', '端木', 14)
) AS TEMP (id, name, age)

在这里插入图片描述

别名TEMP后要设置具体的字段名(id, name, age).不设置的话就是这样.

在这里插入图片描述

生产实践:

1. 临时表转化物理表

select * into manu_demo from (
VALUES 
  ('001', '阿阳', 13),
  ('002', '阿震', 14),
  ('003', '东哥', 15),
  ('004', '端木', 14)
) AS TEMP (id, name, age);

select * from manu_demo;
 id | name | age
001 | 阿阳 | 13
002 | 阿震 | 14
003 | 东哥 | 15
004 | 端木 | 14

tip: 因为 select * into manu_demo 方式创建表无法指定字段类型,创建出来的字段类型宽泛且不绝对准确.慎用

在这里插入图片描述

2. 临时表关联查询

SELECT
  a.*, b.name
FROM manu_info a 
LEFT JOIN 
( VALUES
  ('001', '阿阳', 13),
  ('002', '阿震', 14),
  ('003', '东哥', 15),
  ('004', '端木', 14)
) AS TEMP (id, name, age) on a.id = TEMP.id

3. 临时表修改数据

update manu_info main
set name= tmp.name
from (values
('001', '阿阳', 13),
('002', '阿震', 14),
('003', '东哥', 15),
('004', '端木', 14)
) as TEMP (id, name, age)
where main.id= TEMP.id
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐