<meta charset="utf-8">
<article class="_2rhmJa">
联合查询
基本语法:
select 语句1
union [union 选项]
select 语句2……
union 选项(默认去重)
all:保留所有,不管重复
distinct:去重,默认的
意义:
子查询
一个select语句包含另一个select语句
按位置分类
from子查询
where子查询
exists子查询
按结果分类
标量子查询 :一行一列的结果
列子查询 :一列多行的结果(一排记录)
行子查询 :多列一行;多行多列
-- 行子查询
select * from my_student where
-- (age,height)称为行元素(别忘加括号)
(age,height)=(select max(age),max(height) from my_student);
表子查询 :多行多列
列子查询(了解)
=any等价于in; -- 其中一个即可
any等价于some; -- 二者是一样的
=all为全部
视图(为了查)
视图(view):是一种有结构,但是没结果的虚拟表(数据从基表中得来)
视图优点:对外提供友好型,不同的视图对应不同的数据
创建视图
基本语法:create view 视图名字 as select 语句;
创建单表视图:基表只有一个
创建多表视图:基表来源至少两个(注意id不能重复)
查看视图创建语句(结构,对基表没影响)
show tables [like] / desc 视图名 / show create table 视图名;
修改视图(本身不可以修改,视图来源可以修改,可以定制)
alter view 视图名字 as 新的select语句;
删除视图
drop view 视图名字;
新增数据
多表视图不能新增数据
可以向单表视图插入数据,但是视图中包含的字段必须有基表中所有不能为空、或没有默认值的字段
视图是可以向基表插入数据的
删除数据
多表视图不能删除数据
单表视图可以删除数据
更新数据
更新限制:with check option;
</article>
0人点赞
网友评论