SQL必知必会笔记(5~8章)

第五章 高级数据过滤

本章示例表为transcript成绩表,数据库软件选用SQLITE3,具体如下

1、高级过滤也是通过where条件子句实现,辅以and、or、in、not进行实现

2、and语句:and连接的多个条件为与的关系,例如
SELECT * FROM transcript WHERE Maths >= 90 AND English >= 90

即为满足Maths >= 90 且 English >= 90

查询结果:

3、or语句:or语句连接的多个条件为或的关系,例如

SELECT * FROM transcript WHERE Maths >= 91 OR English >= 91

即为满足Maths >= 9或者English >= 91

查询结果如下

4、可以通过()进行子句的扩展,()的执行优先级大于AND和OR

SELECT * FROM transcript WHERE (Maths >= 91 AND English >= 91) OR English <= 80

5、IN:IN语句可以理解为多个=条件的OR组合的快捷方式

SELECT * FROM transcript WHERE Maths IN (89,91);
6、 NOT:NOT语句用于过滤满足后面跟着的子句的条件
SELECT * FROM transcript WHERE NOT Maths = 89;

第六章 用通配符进行过滤

1、通配符匹配组合:使用like结合% 、_、[]符合进行查询条件的过滤

2、like+%:%用来模糊表示剩余字符,使用的形式可以是'xxx%'、‘%xxx’、‘xxx%yyy’的形式

SELECT * FROM transcript WHERE name like 'T%';

SELECT * FROM transcript WHERE name like '%y';

SELECT * FROM transcript WHERE name like '%l%';

注:通配符匹配字段时要正确填写大小写字母,因为这里属于行记录字段的内容。

3、like+_:_只能表示单个字符,不能模糊匹配多个字符。

SELECT * FROM transcript WHERE name like '_m';

这样查找就没有找到记录

SELECT * FROM transcript WHERE name like '_om';

4、like+[]:[]里填写字符集,SELECT * FROM transcript WHERE name like '[T]%',

第七章 创建计算字段

1、计算字段是为了方便直接将检索出来的一个或者多个字段直接进行转换成想要的形式而创建的字段

2、拼接字段:SQL Server使用+,DB2、Oracle、PgSQL、SQLite使用||,Mysql和MariaDB使用特殊函数

将name和Maths按照name(Maths)的形式进行拼接:

SELECT name || '(' || Maths || ')' FROM transcript;

3、可以把拼接查到的字段用AS别名的形式展示,具体如下

SELECT name || '(' || Maths || ')' AS MathsInfo FROM transcript;

4、用于计算数据:将多个列的查询结果进行计算,计算的结果作为结果进行展示

SELECT name, Maths+English AS TotalScore FROM transcript;

第八章 使用函数处理数据

1、SQL也支持一些函数用于处理数据,函数一般是在数据上执行的,为数据的转换和提供方便,每个DBMS有其特定的函数,只有少数的几个函数被所有主要的DBMS同时支持。

2、因为DBMS支持的函数不同,所以在一条SQL通用的对接多个DBMS时,需要做好函数使用的注释,以及做好不同DBMS的判断,使用其对应的函数。

3、大多数SQL支持的函数:处理文本字符串(如删除或填充值、转换值的大小写等)的文本函数;进行数值数据算术操作(如返回绝对值、进行代数运算)的数值函数;处理日期和时间值并从这些值中提取特定的成分(如返回两个日期之差,检查日期有效性等)的日期和时间处理函数;用于生成美观好懂的输出内容的格式化函数;返回DBMS正使用的特殊信息的系统函数。

4、处理文件类函数举例

SQLite进行字母的大写转换 UPPER

SELECT UPPER(name) FROM transcript;

5、日期和时间类函数举例

计算当前月份的最后一天 date()

SELECT date('now','start of month','+1 month','-1 day');

6、代数计算类函数举例

计算某一列的平均值 avg()

SELECT AVG(Maths) FROM transcript;

.

7、系统函数举例

返回当前sqlite版本函数 sqlite_version() 

SELECT sqlite_version() AS 'SQLite Version';

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

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

相关文章

html中的form表单以及相关控件input、文本域、下拉select等等的详细解释 ,点赞加关注持续更新~

文章目录 表单创建表单forminput 标签input标签的value属性设置input标签格式单选框多选框上传文件下拉菜单文本域设置文本域格式label 标签按钮 表单 作用&#xff1a;收集用户信息。 使用场景&#xff1a; 登录页面注册页面搜索区域 创建表单form <form action".…

在SpringBoot中重试调用第三方API

1引言 在实际的应用中&#xff0c;我们经常需要调用第三方API来获取数据或执行某些操作。然而&#xff0c;由于网络不稳定、第三方服务异常等原因&#xff0c;API调用可能会失败。为了提高系统的稳定性和可靠性&#xff0c;我们通常会考虑实现重试机制。 2重试机制的必要性 …

SpringCloudAlibaba之Gateway

1、简介 网关是系统唯一对外的入口&#xff0c;介于客户端与服务器端之间&#xff0c;用于对请求进行鉴权、限流、路由、监控等功能。 2、Gateway主要功能 2.1、route 路由 路由是网关的最基本组成&#xff0c;由一个路由 id、一个目标地址 url&#xff0c;一组断言工厂及一…

静态S5的常见问题与解决方法

静态S5作为一款功能强大的数据分析工具&#xff0c;被广泛应用于各个行业。然而&#xff0c;在使用过程中&#xff0c;用户可能会遇到一些常见问题。本文将针对这些问题提供相应的解决方法&#xff0c;帮助用户更好地使用静态S5。 一、数据导入问题 在导入数据时&#xff0c;…

RocketMQ源码 创建Topic流程源码分析

前言 MQAdminImpl MQ管理组件提供了大量对mq进行管理的工具&#xff0c;其中一个就是创建Topic。它内部实现是通过 mqClient工具从 NameServer拉取当前 Topic对应的路由元数据信息&#xff0c;解析遍历和当前topic有关的 broker高可用分组集合&#xff0c;找到分组中的 master…

老胡的周刊(第122期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 movie-web[2] 开源可自部署的简约在线电影搜…

JAVA中对登录进行IP限制

一、获取登录用户的网络IP public String getIpAddress(HttpServletRequest request) {String ipAddress request.getHeader("x-forwarded-for");if (ipAddress null || ipAddress.length() 0 || "unknown".equalsIgnoreCase(ipAddress)) {ipAddress …

jdk和IDEA教育版下载和安装详解

前言 研究生专业是通信系统,为了寻找实习于是在研二时期学习java。但是在学习java的过程中没有进行系统总结,很多知识点或者一些细节已经忘记。由于工作找的是某行软件中心的软件开发。准备在毕业前对java知识进行系统性学习。本专栏将从零基础开始,从最简单的jdk和IDEA下载…

李沐机器学习系列3---深度学习计算

1 层和块 1.1 定义块 用class表示层&#xff0c;并只需要实现构造函数和前向传播函数 class MLP(nn.Module):# 用模型参数声明层。这里&#xff0c;我们声明两个全连接的层def __init__(self):# 调用MLP的父类Module的构造函数来执行必要的初始化。# 这样&#xff0c;在类实…

delete后,指针还能使用?!

int *bnew int(10);delete b;*b5;qDebug()<<*b; 结果&#xff1a;5 delete释放后的指针为什么还可以用-CSDN社区 delete后&#xff0c;系统只是把指针指向的堆空间回收&#xff0c; 但是没有将这个指针变量的值赋值为nullptr&#xff0c; 指针还是指向原来的堆空间&#…

Java学习苦旅(十六)——List

本篇博客将详细讲解Java中的List。 文章目录 预备知识——初识泛型泛型的引入泛型小结 预备知识——包装类基本数据类型和包装类直接对应关系装包与拆包 ArrayList简介ArrayList使用ArrayList的构造ArrayList常见操作ArrayList遍历 结尾 预备知识——初识泛型 泛型的引入 我…

vmware安装龙蜥操作系统

vmware安装龙蜥操作系统 1、下载龙蜥操作系统 8.8 镜像文件2、安装龙蜥操作系统 8.83、配置龙蜥操作系统 8.83.1、配置静态IP地址 和 dns3.2、查看磁盘分区3.3、查看系统版本 1、下载龙蜥操作系统 8.8 镜像文件 这里选择 2023年2月发布的 8.8 版本 官方下载链接 https://mirro…