sql 除法_七天学会SQL-04SQL复杂查询

a7160153e2e463e218e54241452e9301.png

一、视图(以下SQL操作都在Navicat客户端下操作)

1、什么是视图?

1.是什么? 视图存放sql查询语句,使用视图时,会运行视图里的sql查询语句创造出一张临时表;如需频繁使用一段sql查询语句时可将该查询语句创建成视图。

把sql里的查询语句写成你需要的模式,保存下来,可以变成你私人小工具。好比做饭,数据就是食物原材料,sql是一张钢板,通过钢板你可以加工原材料(铁板炒饭之类的);但是现在呢,你把钢板加工了一下,变成了锅,或者变成了菜刀,这就是视图。你可以把你加工好的视图保存,原材料可以变换,但是用刀加工过的,肯定要切碎,这就是固定视图的功能。

2afa70b3865dd8445259721dab3b5822.png


2.如何创建

creat view视图名称(<视图列名1,视图列名2,...>) 
as<select 查询语句>;

例如:

create view 按性别汇总(性别,人数)
as
select 性别,count(*)
from studeng
group by 性别;

3.如何使用
在from子句中使用视图名称代替表名称。

select 性别,人数
from 按性别汇总;


4.怎么查看视图是否创建成功呢?

4f17f8d6109d7f817d47f4aaeac83642.png

5.如何删除视图?

ee41c2fcc9800bd0d2842ae662a014bb.png

注意事项1:不能往视图里插入数据。。

注意事项2:避免在视图中插入视图,会降低SQL的工作效率。

二、子查询

什么是子查询:在select里面嵌套使用select.

视图是你固定使用的查询模式,而子查询是临时使用的查询模式,他们都是嵌套在查询语句里的子查询。

af8841c23b84757c9b06dcd58dadcb64.png

一般配合比较运算符+in/any/all来使用子查询。

select 列名1
from 表名
where 列名1>any(子查询);select 列名1
from 表名
where 列名1>any(
select 列名1
from 表名
where 列名1);

列举子查询例:

ca6d8b9eb93a2b8500474f67738aa7a0.png

8ad80f856bd5fd96cc581a99742836d2.png

2ff1fc1d598a378197599b8d500fd8e3.png

89147c2d03b5f31e8a1caf64f5e2108b.png

4f159aa0b77cb8830aaf0bd5b3900949.png

注意事项:

6ecaf243eb47d14718deb9f286c48359.png

运行逻辑里它会先运行子查询。

三、标量子查询

只能返回一个固定的值是标量子查询,一般where语句后边不能直接应用函数,所以会使用标量子查询来使用

select 学号,成绩
from score
where 成绩>avg(成绩);  直接应用函数错误!select 学号,成绩
from score
where 成绩>(
select avg(成绩)
from score);            嵌套标量子查询,正确!

再举一个栗子!

查找差生和优等生中间的普通学生

a4f1f32257713f4e1a43481182bf1c8e.png

任何使用单一值的地方都可以使用标量子查询。

注意事项:该子查询不能返回多行值,如果返回多行那么它就不是标量子查询了。

四、关联子查询

关联子查询,顾名思义,(关联关系)的子查询

e4a0ba9063182bd9538532cb9aaa7306.png

b37832f2039ff5d6a93f26507b39f35a.png

e9b7845c2f1e9fb359dcf53a8ffe3f91.png

b24be0a0bd75e76276d4dbe1602515ea.png

关联子查询比较复杂,需要多多练习。

对以上子查询进行归类梳理

0999443b829bfb7f1279b2962f351396.png

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

ac7cd683c729cc2eefc3b6ad336b178b.png

74ff60ed15b53386ce427d73e277b8b9.png

26accc187bf2ee4fd81d64f5c077651b.png

73523be990d82242739621cf9fdce3f9.png

74ff60ed15b53386ce427d73e277b8b9.png

4b4c4a8ce6e61a9027e6ac5205877404.png

bfa47295b110758f6d274b4ec4399c32.png

如果再运行时候数据错误,要分段检查,先选中子查询运行,如果没问题,那么就是外面的查询语句有问题。用排除法逐一排查。

六、各种函数

函数很多,这里只列举一部分常用的函数,根据实际问题,以后百度,继续学习。

682f44bb7468b079b827eb39d3fbd88e.png

178f317af8846bd545def6dfaf3d9578.png

207e32a755c26418b1398b7b15b1a309.png

7bbcff14795fc088b78181031c278d8f.png

练习题

00f83befece0f3436a2d294145a81cf2.png

SQLZOO网站练习题

SQL Tutorial/zh - SQLZOO​sqlzoo.net

谢谢阅读!有疑问请留言,看到会回复你。

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

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

相关文章

r中rep_Spring中@ Component,@ Service,@ Controller和@Repository之间的区别

r中rep在了解Spring框架中Repository Component &#xff0c; Service Controller &#xff0c; Repository Controller和Repository批注之间的区别之前&#xff0c;了解Component批注在Spring中的作用很重要。 在Spring的初始发行期间&#xff0c;所有bean都用于在XML文件中声…

adf4351使用_使用ADF绑定创建视图对象行CreateInsert操作

adf4351使用在这篇简短的文章中&#xff0c;我将重点介绍与在任务流中创建新记录的一种非常常见的方法有关的一个小陷阱。 让我们考虑一个简单的任务流程示例&#xff0c;该任务流程创建一个新的VO行&#xff0c;如果用户单击“确定”按钮&#xff0c;则在页面片段上显示该行并…

css鼠标移入线条延中心伸长,css动画效果:鼠标移上去底部线条从中间往两边延伸 - 子成君-分享出去,快乐加倍!-旧版已停更...

本站已不再更新,最新资源请前往zcjun.com获取!css&#xff1a;.top-nav a:after {content: ;position: absolute;z-index: 2;bottom: 0;left: 50%;display: block;width: 165px;height: 1px;transform: translate(-50%);}.top-nav a:hover:after {height: 2px;animation: ad_w…

css 深度选择器 ,CSS的coped私有作用域和深度选择器

大家都知道当 编译前&#xff1a;.example {color: red;}编译后&#xff1a;.example[data-v-f3f3eg9] {color: red;}看完你肯定就会明白了&#xff0c;其实是在你写的组件的样式&#xff0c;添加了一个属性而已&#xff0c;这样就实现了所谓的私有作用域。但是也会有弊端&…

营销自动化权威指南_免费电子书:自动化根本原因分析的完整指南

营销自动化权威指南自动化根本原因分析入门指南。 我们在OverOps过夜&#xff0c;梦想着拥有一个自动化的世界。 看起来似乎有些怪异&#xff0c;但是您能想象您和您的团队会比那些不眠之夜和无休止的日子在日志文件中筛选以找出问题出在哪里的快乐多了吗&#xff1f; 这些乏…

光立方原理讲解_90%人不理解什么是防眩光射灯 防昡晕 防炫光,。怎么选项led防眩灯...

关于LED射灯“防眩光(防炫光)”实在想和各位朋友讲解一下防眩光原理 &#xff0c;因为我们碰到90%以上装修朋友&#xff0c;总是把眩光理解为简单的不刺眼的光。我可以负责的告诉大家 &#xff0c;市面上没有不刺眼的射灯&#xff0c;不管是LED芯片直接射出来的光&#xff0c;还…

打印机设置虚拟服务器,虚拟机打印机服务器设置

虚拟机打印机服务器设置 内容精选换一换迁移前&#xff0c;您需要设置目的端服务器。该目的端用来接收源端的数据&#xff0c;同时您也可以使用该目的端进行迁移测试和启动目的端。只有“迁移阶段”为“已就绪”时才可设置目的端。或单击“操作”列的“更多 > 设置目的端”&…

datastore_使用Spring Session和JDBC DataStore进行会话管理

datastore在Web应用程序中&#xff0c;用户会话管理对于管理用户状态至关重要。 在本文中&#xff0c;我们将学习在集群环境中管理用户会话所采用的方法&#xff0c;以及如何使用Spring Session以更简单和可扩展的方式实现该方法。 通常在生产环境中&#xff0c;我们将有多个服…

做一个公众号大概要多少钱_公众号流量主一个月可以赚多少钱?

我是小郁儿&#xff0c;点击上方“关注”&#xff0c;每天为你分享自媒体运营与个人精进干货。细心的读者会发现&#xff0c;阅读我文章的时候&#xff0c;最下面不再出现广告卡片了&#xff0c;因为我前几天已经把流量主功能关掉。起初是因为我在看自己发的视频时&#xff0c;…

从Speedment 3.0.17或更高版本的事务轻松返回值

交易次数 在我以前的文章中&#xff0c;我写了关于如何使用Speedment轻松使用事务的方法&#xff0c;其中我们原子地更新了两个银行帐户。 众所周知&#xff0c;事务是一种将多个数据库操作组合到一个原子执行的单个操作中的方法。 但是事务不仅与更新数据库有关&#xff0c;而…

分布式锁的三种实现方式_分布式锁的多种实现方式

目前几乎很多大型网站及应用都是分布式部署的&#xff0c;分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;和分区…

apache ignite_使用Apache Ignite优化Spark作业性能(第1部分)

apache ignite来看看他们是如何工作的&#xff01; 本文的某些部分摘自我的书《 Apache Ignite的高性能内存计算》 。 如果您对这篇文章感兴趣&#xff0c;请查看本书的其余部分&#xff0c;以获取更多有用的信息。 Apache Ignite提供了多种方法来提高Spark作业的性能&#xf…

微软家庭服务器,微软公布Windows Server 2012版本方案,不再提供家庭服务器版

微软官方网站今日公布Windows Server 2012将有四个版本&#xff0c;分别为Foundation、Essentials、Standard以及Datacenter。其中Foundation只供给原始设备制造商(OEM)&#xff1b;Essentials适合中小企业使用&#xff0c;最大用户数为25个&#xff1b;Standard与Datacenter版…

eclipse创建神经网络_使用Eclipse Deeplearning4j构建简单的神经网络

eclipse创建神经网络神经网络导论 深度学习包含深度神经网络和深度强化学习&#xff0c;它们是机器学习的子集&#xff0c;而机器学习本身就是人工智能的子集。 广义地说&#xff0c;深度神经网络执行机器感知&#xff0c;该机器感知从原始数据中提取重要特征&#xff0c;并对每…

angluar cdk_零分钟即可在容器开发套件(CDK)上实现云运营

angluar cdk尽管这很有趣&#xff0c;但是它实际上并不可行&#xff0c;并且很快就遇到了使用限制。前一段时间&#xff0c; 我逐步完成了在容器中安装称为CloudForms的云管理解决方案。 真正的解决方案是将这个示例放入Red Hat Demo Central集合中&#xff0c;并将其放在基于…

网络研讨室_免费网络研讨会:Java应用程序中的吞咽异常

网络研讨室1月30日参加我们的网络研讨会&#xff0c;以发现Java应用程序中的“隐藏”异常。 如果一棵树落在森林中&#xff0c;但是没有写到原木上&#xff0c;它会发出声音吗&#xff1f; 答案是肯定的。 这些类型的错误可能会对用户体验造成严重影响&#xff0c;而没有根本原…

java8默认内存收集器_使用正确的垃圾收集器将Java内存使用量降至最低

java8默认内存收集器大小对于软件至关重要。 很明显&#xff0c;与大的整体方法相比&#xff0c;在微服务体系结构中使用小片段具有更多优势。 最新的Java版本的Jigsaw有助于分解旧应用程序或从头开始构建新的云原生应用程序。 这种方法减少了磁盘空间&#xff0c;构建时间和启…

oc 协议 回调 静态成员_每日一问:c++类的成员函数,能作为线程的参数吗?

问&#xff1a;类的成员函数可以传入线程参数吗&#xff1f;回答&#xff1a;如果c语言的全局函数&#xff0c;可以。如果是类的静态成员函数&#xff0c;可以如果是类的普通成员函数&#xff0c;不可以为什么&#xff1f;《深入探索C对象模型》中提到成员函数时&#xff0c;当…

flink读取不到文件_日处理数据量超10亿:友信金服基于Flink构建实时用户画像系统的实践...

简介&#xff1a; 友信金服公司推行全域的数据体系战略&#xff0c;通过打通和整合集团各个业务线数据&#xff0c;利用大数据、人工智能等技术构建统一的数据资产&#xff0c;如 ID-Mapping、用户标签等。友信金服用户画像项目正是以此为背景成立&#xff0c;旨在实现“数据驱…

apache pulsar_Apache Pulsar:分布式Pub-Sub消息系统

apache pulsarApache Pulsar是一个开源的分布式pub-sub消息传递系统&#xff0c;最初是由Yahoo创建的&#xff0c;并且是Apache Software Foundation的一部分 。 Pulsar是用于服务器到服务器消息传递的多租户高性能解决方案。 脉冲星的主要功能包括[4]&#xff1a; 对Pulsar…