MySQL 为表增加计算列
简单来说就是某一列的值是通过别的列计算得来的。例如,a列值为1、b列值为2,c列不需要手动插入,定义a+b的结果为c的值,那么c就是计算列,是通过别的列计算得来的。
创建表的时候创建计算列
create table tb1(
id int (9) not null,
a int(9),
c int (9) generated always as ((a+b)) virtual,
primary key ('id')
);
CTE 通用表表达式
CTE是命名的临时结果集,作用范围是当前语句,相当于一个子查询,但是效率比子查询高,CTE可以引用其他CTE,但子查询不能引用其他子查询。
with cte as (
select * from goods)
select g.*,(select cte.name from cte where cte.id=g.gid)
as gname from goods as g;