【SQL】作为前端,应该了解的SQL知识(第三弹)

news2024/11/30 2:48:44

📑视图

使用时,会将数据保存在存储设备(硬盘上)

而使用视图时,并不会将数据保存在存储设备上,也不会将数据保存在任何地方。

视图里面保存的是 从表中取出数据所使用的SELECT语句(视图中的数据会随着原表的变化自动更新)。

查视图时,视图会在内部执行该SELECT语句并创建一张临时表。

 

优点:

  1. 节省存储设备容量
  2. 可以将频繁使用的 SELECT 语句保存成视图,这样就不用每次都重新书写

📃创建视图

CREATE VIEW 视图名称(<视图列名1>, <视图列名2>, ……)
AS
<SELECT语句> -- 从表中查数据的语句

多重视图(尽量避免使用)

在视图的基础上创建视图。

缺点:多重视图会降低 SQL 的性能

 

视图的限制

  1. 定义视图时,不能使用order by 子句
  2. 视图更新的限制
    1. SELECT子句中未使用DISTINCT
    2. FROM 子句中只有一张表
    3. 未使用GROUP BY子句
    4. 未使用HAVING子句

📃删除视图

DROP VIEW 视图名称

📑子查询

简单地说, 子查询就是一次性视图。因为子查询在SELECT语句执行完毕后就会消失

子查询就是将用来定义视图的 SELECT 语句直接用于FROM 子句当中。

注意:

  1. OracleFROM子句中,不能使用AS
  2. 尽量避免多层子查询

执行顺序:

内层的子查询 ——> 外层的查询

📃标量子查询

就是返回一行一列的子查询

一般情况下,标量子查询的 返回值 可以用在 = 或者 <> 这样需要单一值的比较运算符之中

书写位置:任何可以使用单一值的位置都可以使用。

📃关联子查询

在子查询中添加 where子句

作用是用于对集合进行切分。

SELECT product_type, product_name, sale_price
 FROM Product AS P1 
 WHERE sale_price > (SELECT AVG(sale_price)
 FROM Product AS P2 
 **WHERE P1.product_type = P2.product_type**
 GROUP BY product_type);

关于作用域: 1. 子查询内部设定的关联名称,只能在该子查询内部使用

📑谓词

谓词的返回值都是真值

📃LIKE

模糊查询

模糊匹配的符号:

  1. %: 表示任意字符
  2. _: 表示任意一个字符

📃BETWEEN

范围查询。

会包含临界值

📃IS NULL、IS NOT NULL

判断是否为空

📃IN

指定多个条件

IN(值1,值2,值3, .....)

子查询也可以作为IN的参数

SELECT product_name, sale_price
 FROM Product
 WHERE product_id IN (SELECT product_id 
 FROM ShopProduct
 WHERE shop_id = '000C');

📃EXIST

判断记录是否存在

谓词的作用就是“判断是否存在满足某种条件的记录”。 如果存在这样的记录就返回真(TRUE),如果不存在就返回假(FALSE)。 EXIST(存在)谓词的主语是“记录”。

右侧写一个参数,通常是一个子查询。

-- 查询存在于ShopProduct 中的商品
SELECT product_name, sale_price
 FROM Product AS P
 WHERE EXISTS (SELECT *
 FROM ShopProduct AS SP
 WHERE SP.shop_id = '000C'
 AND SP.product_id = P.product_id);

用NOT EXIST表示不存在某个表中。

📑CASE表达式

📌 Oracle中的DECODE就是CASE … WHEN … 语句

条件分支语句。

CASE WHEN <求值表达式> THEN <表达式>
		 WHEN <求值表达式> THEN <表达式>
		 WHEN <求值表达式> THEN <表达式>
		 . . .
		 ELSE <表达式>  -- 可以省略ELSE
END -- END不能省略

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

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

相关文章

zhangrelay博客置顶三篇点击量分析

230515只有三篇置顶&#xff0c;如下&#xff1a; 分别为&#xff1a; 20.03.13 &#xff1a; 901522.01.12 &#xff1a;1372923.04.15 &#xff1a;18836 熟悉zhangrelay博客风格的AI都清楚&#xff0c;他的博客内容都是筛选和设计过的。 置顶三篇阅读量差值为&#xff1…

C++--AVL树的插入,详解四种旋转规则(结尾附源代码链接)

AVL树的插入 前言左单旋右单旋左右双旋右左双旋检查是否这颗树是否是AVL树 前言 AVL树可以说是对二叉搜索树的优化&#xff0c;我们来看二叉树搜索树的下一面一种特殊情况&#xff1a; 当我们插入的数是上面的情况时&#xff0c;二叉树搜索树的特点就形同虚设了&#xff0c;这…

ChatGpt 2步制作流程图与思维导图,你确定不来看一下吗?

什么&#xff1f;你还不会使用ChatGpt。推荐下面这篇文章 ChatGPT保姆级教程&#xff0c;一分钟学会使用ChatGPT&#xff01; - 掘金 (juejin.cn) 如果没有谷歌账号推荐直接买一个&#xff0c;因为你在中国注册谷歌账号&#xff0c;被谷歌查到&#xff0c;也是使用不了ChatGp…

企业数字化转型过程中面临最大的挑战和问题是什么?

无论组织规模如何&#xff0c;业务的敏捷性、弹性以及生产力的高低都是决定其发展运营成功与否的关键因素。而一个良好的数字化转型战略则是企业发展进步的有力助推器。 麦肯锡称&#xff0c;借助数字化转型&#xff0c;可以实现 20% 至 50% 的经济收益和 20% 至 30% 的客户满…

【Spring Cloud Alibaba】Nacos的安装与介绍以及Nacos集群的安装

欢迎来到 Nacos 的世界&#xff01; Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称&#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性…

shell构建基本脚本

构建基本脚本 使用多个命令 一次使用多个命令&#xff0c;把它们放在一行&#xff0c;使用’;隔开 [rootmyserver ~]# date ; who; ls Sun May 14 23:39:34 CST 2023 root pts/0 2023-05-14 23:31 (192.168.10.1) anaconda-ks.cfg initial-setup-ks.cfg创建shel…

JavaScript学习-DOM事件进阶

事件流 事件流和两个阶段说明 事件流指的是事件完整执行过程中的流动路径 说明:假设页面里有个div&#xff0c;当触发事件时&#xff0c;会经历两个阶段&#xff0c;分别是捕获阶段、冒泡阶段 简单来说:捕获阶段是 从父到子 冒泡阶段是从子到父 或者说从大的往下的是捕获&am…

阿里云服务器如何安装宝塔面板?

使用阿里云服务器安装宝塔面板教程&#xff0c;阿里云服务器网以CentOS操作系统为例&#xff0c;安装宝塔Linux面板&#xff0c;先远程连接到云服务器&#xff0c;然后执行宝塔面板安装命令&#xff0c;系统会自动安装宝塔面板&#xff0c;安装完成后会返回面板地址、账号和密码…

前端有必要掌握TypeScript吗,答案十分肯定

本文首发自「慕课网」&#xff08;www.imooc.com&#xff09;&#xff0c;想了解更多IT干货内容&#xff0c;程序员圈内热闻&#xff0c;欢迎关注"慕课网"或慕课网公众号&#xff01; 作者&#xff1a;一飞同学 | 慕课网讲师 近几年&#xff0c;前端技术发展越来越迅…

亚马逊云科技助力医疗与生命科学行业,提供高性能计算(HPC)

2023年4月27日&#xff0c;亚马逊云科技医疗与生命科学行业峰会召开。会议上&#xff0c;亚马逊云科技大中华区战略业务发展部总经理顾凡表示&#xff1a;“亚马逊云科技不仅提供覆盖全球的云基础设施以及超过200大类的云服务&#xff0c;更重要的是&#xff0c;我们深刻了解行…

Agisoft Metashape 卫星图像处理

Agisoft Metashape 利用卫星图像创建三维模型 文章目录 Agisoft Metashape 利用卫星图像创建三维模型前言一、添加图像二、对齐图像三、构建 DEM四、生成平铺模型前言 Agisoft Metashape Professional 支持处理带RPC参数的立体卫星图像。支持的卫星数据有:Beijing-3A, Ikonos…

Flash钓鱼->CS上线(免杀过火绒、360等)

先看结果 访问钓鱼页面: 点击立即升级即把马儿下载下来了 这个马儿是rar压缩的&#xff0c;做成的rar解压自启动&#xff0c;所以是个exe的文件&#xff0c;然后这里为了像一点&#xff0c;把图标给改了 双击运行&#xff0c;查看效果&#xff1a; 首先CS是没东西的 解压路…

UNITY3D 5V5网游开发案例教程

文章连载更新中&#xff0c;可以提前领取素材进行预习&#xff0c;自学 素材领取&#xff1a;私信发送 领取RPG网络开发教材 这里写目录标题 游戏玩法这门课适合哪些人学习学完了能达到什么效果项目准备基础系统战斗系统同步设计精讲社交系统副本系统优化项目准备正文美术准备&…

服务(第二十三篇)mysql-mha

1、什么是 MHA MHA&#xff08;Master High Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大…

UnityWebSocket | 双端通信支持Text/Binary

跳转官方仓库地址 有多个项目使用该库&#xff0c;平台有PC、WebGL。 一、说明 1&#xff09;原理 WebSocket是H5提供的一种浏览器与服务器进行全双工通讯的网络技术&#xff0c;属于应用层协议。数据通常在两个站&#xff08;点对点&#xff09;之间进行传输&#xff0c;按照…

动态规划:01背包理论基础 二维dp

1.确定dp数组以及下标的含义 对于背包问题&#xff0c;有一种写法&#xff0c; 是使用二维数组&#xff0c;即dp[i][j] 表示从下标为[0-i]的物品里任意取&#xff0c;放进容量为j的背包&#xff0c;价值总和最大是多少。[0-i]物品任取放到容量为j的背包中得到的最大价值为dp[i…

想要上手playwright?看这篇文章就够了!(文章有点长,建议收藏)

本文系统地介绍了playwright的基础概念&#xff0c;架构&#xff0c;安装过程&#xff0c;编码demo&#xff08;python实例&#xff09;&#xff0c;常用API&#xff0c;录制脚本的方法以及playwright在无头模式的应用和其与selenium的对比。相信大家认真阅读本文后一定会对pla…

2023年5月广州/西安/成都/深圳产品经理认证NPDP报名

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…

【数据结构】从头到尾全解析双向链表

在之前我们已经讲过< 单链表 >了,单链表查找上一个结点的时间复杂度为O&#xff08;n&#xff09;&#xff0c;尾插时也要遍历一次链表也是O&#xff08;n&#xff09;&#xff0c;因为我们每次都要从头开始遍历找,为了克服这单向性的缺点&#xff0c;我们就有了双向链表…

软件测试专业应届生应如何提高职场竞争力

一&#xff1a;巩固专业知识 背景&#xff1a;笔者已经做了几年的打工人&#xff0c;以个人经验给软件测试专业应届生一些建议。 推荐需要掌握的知识&#xff1a; 1、软件测试基础知识&#xff08;软件生命周期每个阶段工作需了解&#xff09; 2、熟悉SQL/MySQL/Oracle数据库&…