SQL语句之VIEW视图和空值

文章目录

一、VIEW视图

1、定义视图 CREATE VIEW

2、删除视图

3、查询视图和更新视图

二、空值

1、判断一个属性是否为空值

2、空值的运算

一、VIEW视图

1、定义视图 CREATE VIEW

CREATE VIEW 视图名(列名 1,列名 n) //若省略列名,则该视图由子査询中 SELECT 的目标列字段组成
AS 子查询
WITH CHECK OPTION; //若添加该句,则表示对视图进行增删改时要满足子查询中的条件表达式

在以下情况中必须明确指定组成视图的列名:
1.某个目标列不是单纯的列名,而是聚集函数或列表达式
2.多表连接时选出了几个同名列作为视图的字段
3.需要在视图中为某个列启用新的更合适的名字

行列子集视图:由单个基本表导出,仅去掉了基本表的某些行和某些列,但保留了主码

若某些视图是建立在另一个表的全部属性列上的,即视图与基本表的各列是一一对应的。那么当修改基本表的结构时,基本表和视图的映像关系会被破坏。这种情况最好在修改基本表后除该视图,然后重建该视图

eg1.建立 TAB1 的视图

CREATE VIEW V TAB1
AS
SELECT C1, C2, C3, C4
FROM TAB1
WHERE C1=1;

eg2.建立 C4 为4时 TAB1 的视图,并保证以后每次增酬改时都要满足 C4为4的条件CREATE

VIEW V TAB2
AS
SELECT C1, C2, C3, C4
FROM TAB1
WHERE C4='4'
WITH CHECK OPTION;

eg3.建立在一个或多个已定义号的视图上

CREATE VIEW V TAB3
AS
SELECT C1, C2,C3
FROM V TAB1
WHERE C2=2;

eg4.为减少冗余数据,定义基本表时一般只存放基本数据。当需要使用计算得出的派生数据时,可以设置在视图中的派生属性列上,也称为虚拟列。带虚拟列的视图也称为带表达式的视图

CREATE VIEW V TAB4(C1,new C2)
AS
SELECT C1,10+C2
FROM TAB1;

eg5.分组视图:带有聚集函数和 GROUP BY 子句

CREATE VIEW V TAB5(C1, avg C2)
AS
SELECT C1, AVG(C2)
FROM TAB1
GROUP BY C1;

2、删除视图

DROP VIEWDROP VIEW 视图名 CASCADE://若使用 CASCADE 级联删除语句,则将把该视图导出的所有视图一并删除

eg1.
DROP VIEW V TAB2;
eg2.
DROP VIEW V TAB1 CASCADE; //由 V TAB1 导出的 V TAB3 也一并删除

3、查询视图和更新视图

视图定义后,对视图进行查询和更新的语句和语法与基本表相同
视图的查询与更新最终都会转换为对基本表的查询和更新,这一过程也被称为视图消解
一般来说,行列子集视图的查询和更新都可以顺利转换,其他则不一定

二、空值

1、判断一个属性是否为空值

属性 IS NULL
属性 IS NOT NULL

2、空值的运算

空值与另一个值的算术运算结果为空值
空值与另一个值的比较运算结果为 UNKNOWN
在查询语句中,只有使 WHERE 和 HAVING 子句的选择条件为 TRUE 的元组才会被选出作为输出结果(即不包括UNKNOWN 的情况)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/764069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速备份softaculous一键安装的网站程序

近日有客户是通过softaculous一键安装的网站程序,只是想要备份其中的某个网站程序,但是由于他使用的Hostease Linux虚拟主机,也了解到cPanel面板上带备份功能,但是该备份功能会将当前主机上的所有网站的文件进行备份,而…

C++中的虚函数和多态

C中的虚函数和多态 虚函数 C中的虚函数是面向对象编程中的一个核心概念,它允许你在派生类中重写基类中的成员函数。虚函数为多态性提供了机制,使得可以通过基类指针或引用调用派生类中重写的函数。这里是关于虚函数的详细解释: 定义虚函数…

图像分类从零开始(1)

尽我所能,总结留给后面的师弟们! 1.目标 搭建一个完整的系统,包括图像数据集预处理,训练模型,分类器,优化器,以及结果数据处理。 2.理论 3.实例(猫狗分类) Gitee代码…

GEE数据集——2020年江苏省30米分辨率的地表水数据集

简介 要确保水资源安全并提高应对极端水文事件的能力,就必须全面了解各种尺度的水动态。然而,对季节性水文变化较大的水体进行监测,尤其是使用 Landsat 4-9 等中等分辨率卫星图像,面临着巨大的挑战。本研究引入了基于光谱混合物分…

CentOS7 防火墙(firewalld)常规操作

1.查看、打开、关闭防火墙 1.1.查看防火墙是否运行 systemctl status firewalld [rootlocalhost /]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor …

3月22日,每日信息差

🎖 素材来源官方媒体/网络新闻 🎄 华为云与乐聚签署战略合作协议 🌍 我国超重元素研究加速器装置刷新纪录 🌋 我国网民规模达10.92亿人,互联网普及率达77.5% 🎁 微软推首批Surface系列AI PC,首度…

C++迈向精通,学习笔记:类与对象

C:类与对象 注意,这是笔记,不是学习手册!!!有可能不适合别人阅读,如果读者有什么问题欢迎在评论区提问!! 类与对象 不要把类看的多么高深莫测,通过C语言中…

GB/T 35513.2-2017 聚碳酸酯PC模塑和挤出材料检测

聚碳酸酯塑料是一种无味、无臭、无毒、透明的无定形热塑型材料,是分子链中含有碳酸酯的一类高分子化合物的总称。 GB/T 35513.2-2017聚碳酸酯PC模塑和挤出材料测试项目 测试项目 测试标准 熔体体积流动速率 GB/T 3682 拉伸弹性模量 GB/T 1040.2 屈服应力 GB…

基于SSM的土家风景文化管理平台(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的土家风景文化管理平台(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spri…

使用Barrier对齐ConstraintLayout几个控件的最高的一个

前提就是想让一个控件X,对齐A,B,C等控件最高的位置,直接看图。 看,由于name的一行,或者2行,会导致email行的高度,可能比image块高,也可能比image快矮。 那么&#xff…

如何与施耐德Schneider建立EDI连接?

EDI基础知识 何为EDI?是一个软件、系统还是一种流程呢?准确来说,EDI全称Electronic Data Interchange,中文名称是电子数据交换,也被称为“无纸化贸易”。EDI是: 标准化的数据格式连接业务系统间的数据桥梁…

支持开源欧拉openEuler!米尔基于海思Hi3093核心板上市!

新品播报!米尔电子发布了基于海思Hi3093高性能MPU的MYC-LHi3093核心板及开发板, 此款核心板支持openEuler embedded OS欧拉系统,丰富生态,可实现100%全国产自主可控。不仅如此,米尔基于Hi3093的核心板及开发板,配套提供…

谷歌浏览器调用相同url数据不刷新

原代码 原因 谷歌浏览访问相同接口默认调用缓存数据 解决方案 添加时间戳

算法打卡day25|回溯法篇05|Leetcode 491.递增子序列、46.全排列、47.全排列 II

算法题 Leetcode 491.递增子序列 题目链接:491.递增子序列 大佬视频讲解:递增子序列视频讲解 个人思路 和昨天的子集2有点像,但昨天的题是通过排序,再加一个标记数组来达到去重的目的。 而本题求自增子序列,是不能对原数组进行…

面试算法-69-三角形最小路径和

题目 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那…

NSSCTF Round#11 Basic ez_signin

题目: from Crypto.Util.number import * from secret import flagp getPrime(512) q getPrime(512) assert p > q n p*q e 65536 m bytes_to_long(flag) num1 (pow(p,e,n)-pow(q,e,n)) % n num2 pow(p-q,e,n) c pow(m,e,n)print("num1",num1…

智慧城市的发展趋势与挑战:未来展望

随着信息技术的飞速发展,智慧城市已成为现代城市发展的重要方向。智慧城市通过集成应用先进的信息通信技术,实现城市管理、服务、运行的智能化,为城市的可持续发展注入了新的活力。然而,在智慧城市的发展过程中,也面临…

hadoop namenode 查看日志里面报错8485无法连接

一、通过日志排查问题: 1、首先我通过jpsall命令查看我的进程,发现namenode都没有开启 2、找到问题后首先进入我的日志目录里查看namenode.log [rootnode01 ~]# /opt/yjx/hadoop-3.3.4/logs/ [rootnode01 ~]# ll [rootnode01 ~]# cat hadoop-root-nam…

云农场种植、领养、收获,认养模式新浪潮

​ 小编介绍:10年专注商业模式设计及软件开发,擅长企业生态商业模式,商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地;扶持10余个电商平台做到营收过千万,数百个平台达到百万会员,欢迎咨询。 在…