学SQL啦

news2024/10/6 2:30:20

3 SQL

3.1 SQL查询语言

新手学习网址:https://sqlzoo.net/wiki/SQL_Tutorial

    • SQL查询语句语法结构和运行顺序
      • 语法结构:select--from--where--group by--having--order by--limit
      • 运行顺序:from--where--group by--having--order by--limit--select

主知识点一:select&from

1加分号——运行两行代码,为什么报错?(好像是这个编译器不支持)

select name,population from world;

select yr from nobel;

2 重命名——as别名中as可以省略,换成空格

select name as 国家,continent as大洲,population as人口 from world;

=等价于=

select name 国家,continent 大洲,population 人口 from world;

3去重——在需要去重的属性名(这里是continent)前面加distinct,但必须在select后面

select distinct continent from world;

4计算字段——加减乘除,还可以嵌套

select name,population,gdp,gdp/population 人均gdp from world

主知识点二:where

1查询特定人口数量,between不要写错

select name,population,gdp,gdp/population 人均gdp

from world

where population between 200000000 and 300000000

2 查询德国人口,'Germany'字符串要打单引号

select name,population,gdp,gdp/population 人均gdp

from world

where name='Germany'

3 多个内容查询,= 换成 in,还要加括号

select name,population,gdp,gdp/population 人均gdp

from world

where name in ('Germany','Norway')

4模糊查询——like

●   select 字段名

●   from 表名

●   where 字段名 like '通配符+字符'

通配符%和_可以结合使用

5多条件查询——and和or链接

select name,area

from world

where name like '__t%'

and area >=60000

运行结果:

●   【例题15】查询国家名中含有三个a且面积大于60万(600000)的国家及其面积,或者人口大于13亿(1300000000)且面积大于500万(5000000)的国家及其面积

注意:and的优先级高于or,所以是先算and,最后再考虑or,也可以加括号区分逻辑

主知识点三:排序order by

1看到通配符就要用like

order by 属性名 desc(降序), 属性名 asc(升序)

●   【例题17】查询姓名以Sir开头的

获奖者(winner),获奖年份(yr)和科目(subject),

查询结果按照年份从近到远排序,

再按照姓名顺序升序排序。(题目要拆分明白!!!!)

代码:

select * from nobel

where winner like 'Sir%'

order by yr desc,winner asc

结果:

2 排序特殊值

●   【题目】查询1984年所有获奖者的姓名和奖项科目。结果将诺贝尔化学奖和物理学奖排在最后,然后按照科目排序,再按照获奖者姓名排序

分析:order by后面加入判断subject in ('physics','chemistry'),如果subject在括号中记为1否则为0,以此将特殊值排在后面。

代码:

select * from nobel

where yr=1984

order by subject in ('physics','chemistry'),subject,winner

结果:

主知识点四:限制limit

●   【例题18】查询面积排名前三的国家

分析:先排序,再取前三limit 3(不知道具体数值不能用where)

结果:

●   【例题19】查询人口数第1到第3的国家和人口(结果同上)

分析:

limit x,n意味从x+1行开始返回n行

如,第4到第7,共4行,就是在排序后使用limit 3,4

结果:

主知识点五:分组聚合 group by

1聚合函数如下:注意——函数忽略空值

●   【例题20】查询非洲总人口数

将sum函数依次修改为avg()、max()、min(),依次计算平均人口数、最大人口数、最小人口数。

2计算表格行数count

3聚合函数和group by联用

●   【例题24】查询每个大洲(continent)和大洲内的国家(name)数量

分析:

根据分组依据进行聚合运算,以“大洲”为聚合依据,对每个大洲内的“国家”数量进行聚合运算。

代码:

select continent,count(name)

from world

group by continent

结果:

●   【例题25】查询2013至2015年每年每个科目的获奖人数,结果按年份从大到小,人数从大到小排序

代码:

select yr,subject,count(winner)

from nobel

where yr between 2013 and 2015              //查询2013至2015年

group by subject,yr                                 //每年每个科目

order by yr desc,count(winner) desc       //按年份从大到小,人数从大到小

结果:

●   【题目】查询每个大洲和该大洲里人口数超过1千万的国家的数量

分析:

(1)查询每个大洲和特殊国家的数量

(2)特殊国家:该大洲里人口数超过1千万的国家

(3)按照大洲分组就显示出的是每个大洲了

先后顺序不能变!!!

主知识点六:having

聚合区的筛选用where,聚合分组后的筛选用having

Having和where的区别是:运行顺序和对象不用

。。。未完待续,导师喊我干活了。。。

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

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

相关文章

C语言----杨辉三角

各位看官们好。学习到这里想必大家应该对C语言的了解也是很深刻的了吧。但是我们也不能忘记我们一起学习的知识啊。在我们以前学习C语言的时候我想大家应该都听说过杨辉三角吧。虽然我们把其中的规律找到那么这个代码就简单很多了。那么接下里我们就来讲讲杨辉三角。 首先我们先…

如何设置cPanel的自动备份

近期我们购买了Hostease美国VPS云主机产品,由于需要设置服务器的自动备份,我们向Hostease技术团队进行了咨询,他们提到VPS云主机的cPanel面板包含自动备份功能,下面我们就介绍如何进行自动备份的设置。 首先你需要登录到WHM面板&…

2024蓝桥杯CTF writeUP--缺失的数据

压缩包的内容 里面有secret.txt文件,用ARCHPR工具套上字典,爆破压缩包密码。密码为pavilion 解压得到原图,并且有了加密后的图片,根据代码里的key和参数直接运行脚本解密水印图片: import cv2 import numpy as np imp…

一文扫盲(10):考试管理系统的功能模块和界面设计

一、什么是考试管理系统 考试管理系统是一种用于管理和组织考试过程的软件系统。它提供了一系列功能,包括考试计划安排、考试报名、考生管理、试卷管理、考试监控、成绩管理等。考试管理系统的目的是简化和自动化考试流程,提高考试的效率和准确性。 考试…

启动配置 BOOT

在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。 STM32微控制器实现了一个特殊的机制,系统可以不仅仅从Flash存储器或系统存储器启动,还可以从内置SRAM启动。 根据选定的启动模式,主闪存存储器、系统存储器或SRAM可…

微信小程序 手机号授权登录

手机号授权登录 效果展示 这里面用的是 uni-app 官方的登录 他支持多端发布 https://zh.uniapp.dcloud.io/api/plugins/login.html#loginhttps://zh.uniapp.dcloud.io/api/plugins/login.html#login 下面是代码 <template><!-- 授权按钮 --><button v-if&quo…

怎样给excel表格加密?如何有效的防止文件被他人你查看

在处理敏感信息或共享机密数据时&#xff0c;为 Excel 工作簿中的表格添加密码保护是一种重要的安全措施。当我们需要处理大量的工作簿并保护其中的表格时&#xff0c;手动逐个添加密码可能变得繁琐且耗时。因此&#xff0c;我们需要一种批量添加密码保护的方法。本文将详细介绍…

时钟模块RX8025SA 内置32.768 kHz石英晶体振荡器

实时时钟模块RX8025SA&#xff0c;料号Q41802552000100&#xff0c;是一款低功耗&#xff0c;高精度时钟芯片。时钟芯片RX8025SA选型过程中应该注意哪些&#xff1f;RX8025SA又应用在哪些领域呢&#xff1f;爱普生RTC实时时钟RX8025SA&#xff0c;内置32.768 kHz石英晶体振荡器…

【话题】如何看待AI技术,以及AI技术的发展现状和未来趋势

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景一、引言二、AIGC技术的发展现状2.1、技术突破与成果2.2、应用领域的拓展2.3、市场规模的增长 三、AIGC技术的未来趋势3.1、技术融合与创新3.2、应用领域的深化3.3、…

软件测试小妙招:详细解读 postman接口测试导入导出操作

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 postman中的集合脚本&#xff0c;环境变量、全局变量全部都可以导出&#xff0c;然后分享给团队…

追踪攻击数据包中的真实IP地址:方法与技巧

在网络安全领域&#xff0c;追踪攻击数据包中的真实IP地址是一项至关重要的任务。通过确定攻击者的真实IP地址&#xff0c;可以有效地识别和阻止网络攻击行为&#xff0c;提高网络安全防御水平。IP数据云IP地址查询将介绍几种常用的方法和技巧&#xff0c;帮助安全人员有效追踪…

命令行方式将mysql数据库迁移到达梦数据库(全步骤)

因项目需求&#xff0c;需要将mysql数据库转换为国产达梦数据库&#xff0c;但由于安全问题&#xff0c;正式环境只能用命令行方式连接&#xff0c;下列是操作全步骤 目录 一、操作逻辑二、操作步骤1、本地安装达梦相关工具2、将服务器mysql导出到本地a) 服务器命令行导出mysql…

数据中台:企业数字化转型的驱动力量_光点科技

在当今数字化快速发展的时代&#xff0c;企业正积极寻求转型升级的新路径。在这个过程中&#xff0c;数据中台以其独特的功能和价值&#xff0c;逐渐成为了企业数字化转型的关键驱动力。本文将深入探讨数据中台的角色、架构及其在企业中的应用&#xff0c;以期为企业的数字化转…

java多线程编码应用1——java多线程CompletableFuture使用技巧

在实际项目开发过程中&#xff0c;大部分程序的执行顺序都是按照代码编写的先后顺序&#xff0c;依次从上往下挨个执行的&#xff0c;但是对于统计或者批量操作数据时&#xff0c;是否有更好的方案呢&#xff1f;这时候就可以考虑使用多线程编程&#xff0c;异步并行执行多个任…

docker-compose安装es+kibana 8.12.2

小伙伴们&#xff0c;你们好&#xff0c;我是老寇&#xff0c;我又回来辣&#xff0c;几个月不见甚是想念啊&#xff01;&#xff01;&#xff01; 因云平台需要改造&#xff0c;es7升级为es8&#xff0c;所以记录一下&#xff0c;es8需要开启ssl认证&#xff0c;需要配置证书…

【3dmax笔记】027:配置修改器集、工具栏自定义与加载

文章目录 一、配置修改器集二、自定义工具栏三、加载工具栏 一、配置修改器集 可以把自己常用的修改命令放到右边框中的部分&#xff0c;便于自己的操作&#xff0c;省去了每次都要花半天时间找命令的尴尬。新建一个二维或者三维物体&#xff0c;点击修改面板&#xff0c;点击…

白盒测试:覆盖测试及测试用例设计

白盒测试&#xff1a;覆盖测试及测试用例设计 一、实验目的 1、掌握白盒测试的概念。 2、掌握逻辑覆盖法。 二、实验任务 某工资计算程序功能如下&#xff1a;若雇员月工作小时超过40小时&#xff0c;则超过部分按原小时工资的1.5倍的加班工资来计算。若雇员月工作小时超过…

1. C++入门:命名空间及输入输出

C相比C的变化 兼容C面向对象泛型C的不足的弥补 为什么要有命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地…

EMAP如何建数据源

新建数据源&#xff1a; EMAP底座的数据源&#xff0c;名称为“DB_EMAP_BIZ_BASE"&#xff0c;不可随意更改. 新建业务系统数据源&#xff0c;名称为”DB_STUDY_BIZ_BASE". 支持的数据库&#xff1a; 支持两种类型数据库&#xff1a;H2 和 oracle 新建H2数据源&am…

YOLOv9全网最新改进系列:YOLOv9融合HCF-NET网络中的PPA模块,红外小目标实验证明针对小目标的改进具有出色表现!

YOLOv9全网最新改进系列&#xff1a;YOLOv9融合HCF-NET网络中的PPA模块&#xff0c;红外小目标实验证明针对小目标的改进具有出色表现&#xff01; YOLOv9原文链接戳这里&#xff0c;原文全文翻译请关注B站Ai学术叫叫首er B站全文戳这里&#xff01; 详细的改进教程以及源码…