MySQL学习笔记(三)

93 阅读1分钟

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;