SQL视图 详细介绍
技术百科
黄舟
发布时间:2017-02-27
浏览: 次 视图
视图是虚拟的表。与包含的数据表不一样,视图只包含使用时动态检索的数据查询。作为视图,他不包含任何列或数据,包含的只是一个查询。
为什么使用视图?
1:重用sql语句。
2:简化复杂的sql操作。在编写查询后,可以方便的重用它而不必知道其基本查询的细节。
3:使用表的一部分而不是整个表。
4:保护数据。可以授予用户访问表的特定部分的权限,而不是对整个表进行访问。
5:更改数据格式和表示。视图可以返回与底层表的表示和格式不同的数据。
创建视图之后,可以用于表基本相同的方式使用它们。可以对视图执行SELECT操作,过滤和排序数据,将视图联结到其他视图或表。
重要的是,要知道视图仅仅是用来查看存储在别处数据的一种设置。视图本身不包含数据,因此返回的数据是从其他表中检索出来的。在添加和更改这些表中的数据的时候,视图将返回改变过的数据。
关于视图创建和使用的一些最常见的规则和限制
(1)与表一样,视图必须唯一命名
(2)对于可以穿件的视图数目没有限制
(3)为了创建视图,必须具有足够的访问权限。这些权限通常由数据库管理人员授予。
(4)视图可以嵌套,即可以利用从其他视图中检索数据的查询来构造一个视图。
(5)许多DBMS禁止在视图查询中使用ORDER BY子句。
(6)有的DBMS要求命名返回的所有列,如果列是计算字段,则需要使用别名。
(7)视图不能索引,也不能有关联的触发器或默认值。
(8)有的DBMS把视图作为只读的查询,这表示可以从视图检索数据,但不能将数据写会底层表。
(9)有的DBMS允许创建这样的视图,它不允许进行导致行不再属于视图的插入或更新。
创建视图
视图用CREATE VIEW语句来创建。
用DROP语句来删除视图,语法为:DROP VIEW viewname;
利用视图简化复杂的联结
CREATE VIEW ProductCustomers ASSELECT cust_name,cust_contact,prod_idFROM Customers,Orders, OrderItemsWHERE Customers.cust_id = Order.cust_id AND OrderItems.order_num = Order.order_num;
这条语句创建一个名为ProductCustomers的视图,他联结三个表,以返回已订购了任意产品的所有客户的列表。
检索订购了产品RGAN01的客户
SELECT cust_name,cust_contactFROM ProductCustomersWHERE prod_id = 'RGAN01';
用视图重新格式化检索出的数据
创建格式化视图
CREATE VIEW VendorsLocations ASSELECT RTRM(vend_name) || ' ( ' || RTRIM(vend_country) || ' ) ' AS vend_titleFROM Vendors;
用试图过滤不想要的数据
定义CustomerEMailList 视图,过滤没有电子邮件地址的客户。
CREATE VIEW CustomerEMailList ASSELECT cust_id, cust_name, cust_emailFROM CustomersWHERE cust_email IS NOT NULL;
使用视图与计算字段
检索某个特定订单中的物品,计算每种物品的总价格
CREATE VIEW OrderItemExpanded ASSELECT order_num, prod_id, quantity, item_price, quantity*item_price AS expanded_price FROM OrderItems;
根据视图检索订单20008的详细内容
SELECT *FROM OrderItemsExpandedWHERE order_num = 20008;
以上就是sql视图 详细介绍的内容,更多相关内容请关注(www.)!
# 的是
# 而不是
# 也不
# 相关内容
# 是从
# 这条
# 要知道
# 能有
# 他不
# 子句
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- PHP cURL GET请求:正确设置认证与自定义
- Win11怎么清理C盘系统日志_Win11清理系统
- Win10如何更改网络连接_Windows10以太
- Windows 11如何开启文件夹加密(EFS)_
- Windows10如何更改盘符名称_Win10重命
- C++ static_cast和dynamic_c
- Win11局域网共享怎么设置 Win11文件夹网络
- Mac如何解压zip和rar文件?(推荐免费工具)
- 如何在 Go 中可靠地测试含 time.Time
- c# F# 的 MailboxProcessor
- C#如何使用Channel C#通道实现异步通信
- Win11怎么设置DNS服务器_Windows11
- Win11怎么关闭通知中心_Windows11系统
- Win11怎么关闭边缘滑动手势_Windows11
- Python项目回滚策略_发布安全说明【指导】
- Win11如何隐藏桌面图标 Win11一键隐藏/显
- 如何高效获取循环末次生成的 NumPy 数组最后一
- php订单日志权限怎么设_php订单日志文件权限设
- Python对象生命周期管理_创建销毁解析【教程】
- Linux如何申请SSL免费证书_Linux下Ce
- MAC怎么截图并快速编辑_MAC自带截图快捷键与标
- Win11怎么自动隐藏任务栏_Win11全屏显示设
- Win11怎么开启远程桌面_Win11系统远程桌面
- 如何在 ACF 中正确更新嵌套多层的 Group
- Win11键盘快捷键大全_Windows 11常用
- Win11怎么查看局域网电脑_Windows 11
- Win11怎么开启上帝模式_创建Windows 1
- 如何解决同一段404代码在不同主机上表现不一致的问
- Windows系统被恶意软件破坏后的恢复策略_错误
- c++怎么调用nana库开发GUI_c++ 现代风
- php中self::能调用子类重写的方法吗_静态绑
- 如何减少Golang内存碎片化_Golang内存分
- Win11怎么关闭透明效果_Windows11辅助
- Win11麦克风没声音怎么设置_Win11麦克风权
- c++怎么设置线程优先级与cpu亲和性_c++ 多
- Win11怎么关闭自动调节亮度 Win11禁用内容
- Win10如何更改任务栏高度_Windows10解
- Win11怎么关闭小组件_Win11禁用任务栏天气
- c# 服务器GC和工作站GC的区别和设置
- Win11怎么设置夜间模式_Windows11显示
- 为什么本地php环境运行php脚本卡顿_php执行
- Win11任务栏怎么固定应用 Win11将软件图标
- Win11如何设置电源计划_Win11电源计划优化
- php中作用域操作符能访问私有静态属性吗_访问权限
- SAX解析器是什么,它与DOM在处理大型XML文件
- C++中的Pimpl idiom是什么,有什么好处
- Win11怎么卸载Photos应用_Win11卸载
- Windows如何拦截2345弹窗广告_Windo
- 如何在 Go 后端安全获取并验证前端存储的 JWT
- MAC如何隐藏文件夹及文件_MAC终端命令隐藏与第

tomersWHERE prod_id = 'RGAN01';
QQ客服