(是什么,如何用,有什么用,注意事项)

一、视图:

(1)是什么:数据库存储数据,视图存储SQL语句,不存数据

(2)如何创建视图
CREATE VIEW 视图名称(<视图列名1,<视图列名2>,...)
AS
<SELECT 查询语句>;CREATE VIEW 按性别汇总(性别,人数)
AS
SELECT 性别,COUNT(*)
FROM student
GROUP BY 性别;

(3)有什么用 ,优点

①将经常使用的select语句保存为视图,不用每次重复书写了

②视图中的数据会随着原表的变化而自动更新

③视图无需保存数据,因此节省存储设备的容量

(4)注意事项

①避免在视图基础上创建视图,多重视图会降低sql性能和效率

②不能往视图中插入数据

二、子查询

1、子查询就是一次性视图(一次性select语句),运行后就会消失。

子查询是将用来定义视图的select语句直接用于from子句中,实际上就是在select语句中嵌套另外一个select子句。

2、如何使用:在where子句中跟in,any,all一起使用

in(子查询):查找in里面的数据

any(子查询):表示子查询里面的任意一个数据(any和some相同)

all(子查询):表示子查询里的所有数据

any和all 可以跟比较运算符搭配使用

3、注意事项

①all可以与=、>、>=、<、<=、<>结合起来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于all里面的所有数据。

如果是两个数字比较,a > 3b 等价于 a/3 > b 。但是,在mysql里all得到的不是一个数字,是一个集合,也就是得到的是n行数据,所以不能写a > 3all(b),语法只能是 a/3 > all(b)。

all与子查询的语法如下:

SELECT 列名1
FROM 表名1
WHERE 列名1 > ALL (子查询);

②避免使用多层嵌套

③子查询名称可以省略不写,但是为了方便理解,建议根据处理内容来指定恰当的子查询名称

④运行顺序:先运行子查询,再运行外部查询

三、标量子查询

1、标量子查询就是返回一行一列的单一值的子查询,可以与比较运算符一起使用。

SELECT 学号,成绩
FROM score
WHERE 成绩 >
(SELECT AVG(成绩)FROM score
);

四、关联子查询:在每个组里进行比较

偶尔使用:子查询-①多行-子查询 ②单一值-标量子查询-IN ANY ALL BETWEEN③在每个组里比较-关联子查询-关联条件

频繁使用:视图

五、如何用sql解决业务问题

*如何排查SQL报错信息

先单独运行子查询,看看是否报错,再排查外部查询

六、各种函数

1.汇总函数

2.算术函数

3.字符串函数

4.日期函数

七、总结

子查询:返回多行结果

标量子查询:返回单一值,跟比较运算符,in,any,all,between一起使用

关联子查询:用于每个组内比较,关联条件必须在子查询里

多表查询

1.表的加法

2.表的联结

3.联结应用案例

4.case表达式

sqlliet 创建多表查询的视图_第4关 复杂查询相关推荐

  1. mysql创建全外连接的视图_「MySql学习」Mysql学习系列之常用数据库查询语句

    一.简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等.10.5pt;font-family:"A ...

  2. mysql创建全外连接的视图_关系型数据库 MySQL 表索引和视图详解

    原创: JiekeXu JiekeXu之路 一.索引 数据库索引通俗的讲就是和书本的目录一样,主要就是为了提高查询数据的效率.由于数据存储在数据库表中,所以索引是创建在数据库表对象上,由表中的一个字段 ...

  3. mysql实验四数据库查询和视图_数据库-第四次实验报告-视图-t-sql语句

    实验十报告 创建视图 实验目的 1.掌握创建视图的SQL语句的用法. 2.掌握使用企业管管理器创建视图的方法. 3.掌握使用创建视图向导创建视图的方法. 4.掌握查看视图的系统存储过程的用法. 5.掌 ...

  4. mysql实验四数据库查询和视图_实验四 数据库查询和视图.doc

    实验四 数据库查询和视图 测试过程:(实验中出现的问题.错误.解决方法) 问题一:新建查询,调试过程中出现提示无效行或列 问题二:新建查询,调试过程中出现第几行出现错误 解决办法:检查新建的查询,标点 ...

  5. 子查询dinstinct放哪_第四关 复杂查询

    1 创建视图 视图创建如下: as后面放的是SQL查询语句 视图调用方法:创建视图后,右键视图,刷新 直接在from后面写上视图的名称就可以直接调用了 视图的注意事项: 1.不要在视图中国再次创建视图 ...

  6. sql查询初学者指南_面向初学者SQL Server查询执行计划–聚集索引运算符

    sql查询初学者指南 We have discussed how to created estimated execution plans and actual execution plans in ...

  7. python 查询sqlserver 视图_在Python中,将SQL查询的输出显示为表,就像在SQL中一样...

    这似乎是一个基本的函数,但我对Python还不熟悉,所以也许我没有正确地搜索这个函数. 在Microsoft SQL Server中,当SELECT top 100 * FROM dbo.Patien ...

  8. python查询sqlserver视图_基于odoo11上的SQL查询构建一个新的视图或模型

    我正在研究一个奥多模块.在 我希望我的模块是一个"报告"大多数购买的产品(按客户).在 我已经在Odoo上创建了一个视图,但是现在,我需要按客户"过滤"这些视图 ...

  9. python查询sqlserver视图_如题:sqlserver连接Oracle数据库,在sql查询分析器中查询oracle中的视图,根据时间字段查询,SQL语句...

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. 深度学习中的优化算法之MBGD
  2. 北邮计算机2021成绩,北京邮电大学历年分数线 2021北京邮电大学录取分数线
  3. datetime-时间日期模块
  4. ruby wxruby rubytk的安装
  5. Windows Moblie 笔迹图板开发
  6. 人生---新---起点……
  7. 算法:Path Sum(路径总和)
  8. matlab的vitdec,通信原理MATLAB仿真教程课件第9章 信道容量和编码.ppt
  9. VBScript教程
  10. 京东 区块链 JDChain
  11. 用excel表格解线性方程组
  12. 【python多版本共存】
  13. 嗨!爱莫就是传说中隔壁家公司 | 精彩传送门
  14. 华为高管回应养猪传闻,赋能企业用AI养好猪
  15. 福昕阅读器打不开html文件吗,福昕阅读器打不开XP台式
  16. 操作系统LAB1实验报告
  17. 数据库应用——MySQL数据管理
  18. PostgreSQL多维空间对象——cube插件
  19. 计算机科学研究进展,理论计算研究获进展
  20. 正则表达式验证手机号,邮箱

热门文章

  1. 通过webbrowser控件获取验证码
  2. Spring和SpringMVC的区别
  3. Spring bean配置继承
  4. extjs学习—-官方模版注释2
  5. 反思转变:多努力以积累  多动脑以应变
  6. Git的commit之后的撤销reset
  7. mysql 存guid类型_从C#在MySQL中存储GUID
  8. MySQL配置慢查询日志及使用说明
  9. 慢查询工具percona安装
  10. Curl http_code 状态码