一. INSERT … SELECT
可以根据SELECT 语句的结果快速将多行插入到表中,该语句可以从一个或多个表中进行选择
insert into Table2(a, c, d) select a,c,5 from Table1;
查询新增还可以用另一种形式: select into
select a,c INTO Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。
二. UPDATE … SELECT
update select 语句(注意:必须使用inner join)
语法 :
UPDATE a
INNER JOIN ( SELECT yy FROM b ) c ON a.id = c.id
SET a.xx = c.yy
样例:
-- SQL1(分组统计表1)
SELECT
knowledge_id,
COUNT( 0 ) nums
FROM
pro_base_timu_knowledge
GROUP BY
knowledge_id;
-- SQL2(更新SQL1统计内容到表2)
UPDATE pro_base_knowledge
INNER JOIN ( SELECT knowledge_id, COUNT( 0 ) nums FROM pro_base_timu_knowledge GROUP BY knowledge_id ) b ON pro_base_knowledge.id = b.knowledge_id
SET pro_base_knowledge.timu_num = b.nums
很赞哦! ( 0 )
上一篇:没有了