- 3.1视图
- 3.1.2视图与表的区别
- 视图并未真正储存数据
- 3.1.4视图的创建
- 基本语法:create view 视图名称(列名1,列名2) as select语句
- 注意:一般的DBMS,定义视图时不能使用order by语句,因为视图和表一样,数据行都是没有顺序的,但是MYSQL可以
- 3.1.5 修改视图结构
- 语法结构: alter view 视图名 as select语句
- 3.1.6 更新视图内容
- 视图中包含以下结构的任意一种泽不可更新
- 聚合函数:sum(),min(),max(),count()
- distinct关键字
- group by
- having
- union 或 union all
- from 子句中包含多个表
- 视图中包含以下结构的任意一种泽不可更新
- 3.1.7删除视图
- drop view 视图名1,视图名2
- 需要权限
- 视图无法插入数据
- 3.1.2视图与表的区别
- 3.2子查询
- 3.3函数
- 3.3.1算数函数
- abs绝对值
- mod(被除数,除数)求余数
- round(对象数值,保留小数的位数)四舍五入
- 3.3.2字符串函数
- concat(str1,str2,str3)拼接
- length(字符串)--字符串长度
- lower(字符串)--小写转换
- upper(字符串)--大写转换
- replace(对象字符串,替换前字符串,替换后字符串)--字符串的替换
- substring(对象字符串 from 截取的起始位置 for 截取的字符数)索引起始值为1
- substring_index(原始字符串,分隔符,n)第n个分隔符之前(n为正数)或之后(n为负数)的字符串,
- 3.3.1算数函数
- 3.4谓词
- 3.4.1谓词就是返回值为真值的函数,包括:True\false\unknown,谓词主要有
- like
- between
- is null, is not null
- in
- exist
- 3.4.2like
- 字符串的部分一致查询
- %是代表“零个或多个任意字符串”的特殊符号,“ddd%”代表“以ddd开头的所有字符串”
- _下划线匹配任意 1 个字符,几个字符几个下划线
- 字符串的部分一致查询
- 3.4.3between--范围查询
- 包含开头和结尾
- 3.4.4
- is null、is not null
-
- select product_name, sale_price
- from product
- where sale_price is null;
-
- is null、is not null
- 3.4.5 in 谓词-OR的简单用法
- 多个查询条件取并集时可以选择使用or语句。
- 选取对象多,可以用in(值1, 值2,~)或者 not in((值1, 值2,~))
- 在使用IN 和 NOT IN 时是无法选取出NULL数据的。
- 3.4.6使用子查询作为in谓词的参数
- 3.4.7exist谓词
- 使用exist的基本上都可以用in
- 3.5case表达式
- 区分情况时使用,这种i情况的区分在编程中通常称为(条件)分支
- 语法分类
- 简单case表达式
- 搜索case表达式,其包含简单case表达式的全部功能
- case when <求值表达式> then <表达式》.....else 表达式 end
- CASE 表达式最后的“END”是不能省略的
-
- 当待转换列为数字时,可以使用SUM AVG MAX MIN等聚合函数;
- 当待转换列为文本时,可以使用MAX MIN等聚合函数
- 3.4.1谓词就是返回值为真值的函数,包括:True\false\unknown,谓词主要有
天池龙珠计划SQL训练营--Task03:复杂查询方法-视图、子查询、函数等-天池龙珠计划SQL训练营
最新推荐文章于 2024-07-18 16:32:46 发布