• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL视图的作用详解(一)-简化复杂联结、格式化检索出的数据

MySQL视图的作用详解(一)-简化复杂联结、格式化检索出的数据

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL视图,简化联结,格式化,数据等相关知识,希望本文的分享对您有所帮助
利用视图简化复杂的联结

视图的最常见的应用之一是隐藏复杂的SQL,这通常都会涉及联结。请看下面的例子:

输入:

create view productcustomers as select cust_name,cust_contact,prod_id from customers,orders,orderitems where customers.cust_id = orders.cust_id and orderitems.order_num = orders.order_num;

分析:这条语句创建一个名为 productcustomers 的视图,它联结三个表,以返回已订购了任意产品的所有客户的列表。如果执行SELECT * FROM productcustomers ,将列出订购了任意产品的客户。

为检索订购了产品 TNT2 的客户,可如下进行:

输入:

select cust_name,cust_contact from productstomers where prod_id = 'TNT2';

输出:

1.png

分析:这条语句通过 WHERE 子句从视图中检索特定数据。在MySQL处理此查询时,它将指定的 WHERE 子句添加到视图查询中的已有WHERE 子句中,以便正确过滤数据。

可以看出,视图极大地简化了复杂SQL语句的使用。利用视图,可一次性编写基础的SQL,然后根据需要多次使用。

创建可重用的视图 创建不受特定数据限制的视图是一种好办法。例如,上面创建的视图返回生产所有产品的客户而不仅仅是 生产TNT2 的客户。扩展视图的范围不仅使得它能被重用,而且甚至更有用。这样做不需要创建和维护多个类似视图。

用视图重新格式化检索出的数据

如上所述,视图的另一常见用途是重新格式化检索出的数据。下面的 SELECT 语句在单个组合计算列中返回供应商名和位置:

输入:

select concat(rtrim(vend_name),'(',rtrim(vend_country), ')') as vend_title from vendors order by vend_name;

输出:

2.png

现在,假如经常需要这个格式的结果。不必在每次需要时执行联结,创建一个视图,每次需要时使用它即可。为把此语句转换为视图,可按如下进行:

输入:

create view vendorlocation as select concat(rtrim(vend_name),'(',rtrim(vend_country), ')') as vend_title from vendors order by vend_name;

分析:这条语句使用与以前的 SELECT 语句相同的查询创建视图。为了检索出以创建所有邮件标签的数据,可如下进行:

输入:

select * from vendorlocations;

输出:

3.png

以上就是MySQL视图的作用详解(一)-简化复杂联结、格式化检索出的数据的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL笔记之视图的使用详解
  • MySQL视图的作用详解(二)-过滤数据、计算字段、更新视图
  • MySQL视图的作用详解(一)-简化复杂联结、格式化检索出的数据
  • MySQL视图的应用之应用视图

相关文章

  • 2018-12-05SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
  • 2017-05-11讲解MySQL中的事务特性
  • 2018-12-05阿拉伯数字转大写中文_财务常用sql存储过程
  • 2018-12-05详解介绍MySQL5.6.31 winx64.zip安装配置的图文教程
  • 2017-05-11MySQL order by性能优化方法实例
  • 2017-05-11与MSSQL对比学习MYSQL的心得(七)--查询
  • 2018-12-05关于日志设置的详细介绍
  • 2018-12-05MySQL学习系列4:运算符
  • 2018-12-05MySQL基础教程15 — SQL语法之数据操作语句DML—DELETE语法
  • 2018-12-05sqlserver 自动备份所有数据库的SQL

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 高性能MySQL-查询缓存介绍
    • ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解
    • SQL Server 7.0 入门(五)
    • mysql_field_type()函数的内容推荐
    • 多表关联同时更新多条不同的记录方法分享
    • 解析Mysql存储引擎InnoDB和MyISAM几点区别
    • MySQL的重装问题解决方法
    • SQL Server 交叉表查询 case
    • 超越MySQL 对流行数据库进行分支的知识小结
    • MySQL找回用户数据的案例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有