Silentdoer

导航

创建视图并查询和select* from (select ...) view_test的区别

其实视图的本质就是创建了一个临时的内部select,即是select* from (select ...) view_test的view_test;

它和我们用上述查询方式来查询其实没有本质区别;

但是有一些区别这里零碎整理下:

1.视图虽然是个虚拟表,但是它也有表的一些特质,比如字段不能重复(视图正常不能插入值,原理用上述select * from (select ...) view_test很好理解)

而我们之间用select* from a join b where a.id = b.a_id则是可以展示出多个id列的假设a和b都有id列,但是注意如果让其放到别名里,则不能有field重复,比如:

select * from (select* from a join b where a.id = b.a_id) view_test,这个时候内部的select就不能有重复的字段了;

posted on 2022-10-26 19:30  Silentdoer  阅读(167)  评论(0编辑  收藏  举报