SERVER ——查询(二)

目录

 5. top

 6. null

 7. order by

 8. 模糊查询:

 9. 聚合函数


5. top

        top查询:查询表的前几行;下面是代码演示:

--top(前面的几个记录)
select top 2 * from emp; --查询表的前两列


select top 20 percent * from emp; --查询整张表的14行的五分之一,往大了取,即前3行

6. null

        null不是一个数值,与0 不同;

        另外,null相比之前的 between..and...,distinct相比也是一种过滤;

--null不能参与 =  !=  < > 运算;
select comm from emp where comm = null; --输出为空
select comm from emp where comm<>null;--输出为空


--null不能参加具体数值的运算
select ename ,sal*12+null as "年薪" from emp;--年薪列为全null


--null 可以参与 is ,is not 的运算  
select *from emp where comm is null;--表中为空的数据
select * from emp where comm is not null;--表中不为空的数据

         此外,可以使用 isnull (函数)进行改进;

 7. order by

       --asc升序,可以默认不写;desc降序

        order by a,b:a,b都是升序

        order by a,b desc:a升序,b降序

        order by a desc, b:a降序,b升序

        order by a desc,b desc :a,b,降序


        select *from emp order by sal;--默认按照sal升序输出整张表


        select * from emp order by deptno,sal;--优先按照 deptno 升序排,在 deptno 相同的情况下,将 sal 升序排;

        select * from emp order by sal desc;--按照asc降序排列


        select * from emp order by deptno desc,sal;--dedptno降序输出,sal升序输出(asc默认没写)


        --desc只对 a 产生产生影响,不会对后面的 b,c,d 产生影响;
        --select * from emp order by a desc ,b ,c ,d ;

        select * from emp order by deptno,sal desc;--按照deptno升序排列(默认是asc),sal降序排列

        --强烈建议对每一个字段指明排序标准

 8. 模糊查询:

        举一个例子;我在搜索栏输入“雷军”两个字,下面就会出现很多含有“雷军”关键字的选项,这就属于模糊查询:


--通配符
--匹配条件必须使用单引号,双引号通常使用在对象的名称上,单引号则用在字符串上
--%(百分号)        表示0个或多个字符,
--_(下划线)            表示单个字符,
--[a-c]                表示输出含 a,b,c 的任意一个字符
--[a,c]                表示输出含 a 或 c 的任意一个字符 
--[^a-c](shift+6就打印出来了)            表示输出不含a,b,c的任意一个字符的记录

select ename from emp where ename like '%A%';--查找ename中含A的所有数据
select ename from emp where ename like '%A';--查找尾字母是A的数据;
select ename from emp where ename like 'A%';--查询首字母是A的数据;

select ename from emp where ename like '_A%';--查询第二个字母是A的数据
select ename from emp where ename like '_[A-C]%';--查询第二个字母是 A 或 B 或 C 的记录

select ename from emp where ename like '_[A,C]%';--查询第二个字母是 A 或 C 的记录
select ename from emp where ename like '_[^A-C]%';--查询第二个字母是 A 或 C 的记录 

 --如果输出含恰好含 % 的数据呢
select ename from emp where ename like '%\%%' escape '\';--escape表示把“\”当作转义字符的标志,并且escape可以把任何字符当作转义字符的标志


select ename from emp  where ename like '%m%%' escape 'm';--比如我把 \ 替换成了 m,也是可以的;


select ename from emp  where ename like '%m_%' escape 'm';--把里面含有下划线的数据输出

 

9. 聚合函数

--聚合函数;max( ),min( ),lower()大写变为小写,avg( )求平均值,count( )求个数;


--单行函数(每行返回一个值):lower
select lower(ename) from emp;--大写变小写;


--多行函数(最终只返回一个值):max(),min(),count()
select max( sal ) from emp;--最后返回一个值,即sal的最大值;
--count
--count(*);
select * from emp;
--count(*);返回整张表的记录个数
select count (*) from emp;--返回表的记录数
--count(字段名),返回不为空的该记录的个数;
select count (deptno) from emp;--返回deptno的记录数
--count (distinct 字段名),返回不重复且不为null的数据的记录的个数
select count (distinct deptno)返回不重复的deptno记录的个数
select count(comm) from emp;--输出值为4 ,而不是14,说明值为null的会被自动过滤
select count(distinct comm) from emp;--输出值也为4

-注意注意注意注意注意注意注意注意
select max( sal ),min (sal) from emp ;--这样也是可以的
select max( sal ) as "最高工资",min(sal) as "最低工资" from emp;--我们重命名就可以了


--单行函数与多行函数不能混合使用
select lower(ename),max(sal),min(sal) from emp;--报错,逻辑上有错误,到底是输出单行还是多行呢?所以单行与多行函数不能混合使用 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】基于SSM++jsp的网上服装销售系统【源码+lw+部署文档】

目录 第一章 绪 论 第二章 关键技术的研究 2.1 JSP技术介绍 2.2 JAVA简介 2.3 ECLIPSE 开发环境 2.4 Tomcat服务器 2.5 MySQL数据库 第三章 系统分析 3.1 系统设计目标 3.2 系统可行性分析 3.3 系统功能分析和描述 3.4系统UML用例分析 3.4.1管理员用例 3.4.2用户用例 3.5系统流…

家政服务|基于SprinBoot+vue的家政服务管理平台(源码+数据库+文档)

家政服务管理平台 目录 基于SprinBootvue的家政服务管理平台 一、前言 二、系统设计 三、系统功能设计 1前台模块设计 2后台功能模块 5.2.1管理员功能模块 5.2.2用户功能模块 5.2.3服务人员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕…

Redis实践—全国地址信息缓存

一、背景 在涉及全国地址的应用中&#xff0c;地址信息通常被频繁地查询和使用&#xff0c;例如电商平台、物流系统等。为了提高系统性能和减少对数据库的访问压力&#xff0c;可以使用缓存来存储常用的地址信息&#xff0c;其中 Redis 是一个非常流行的选择。 本次在一个企业入…

Linux 进程相关概念

用以下指令查找正在运行的进程&#xff0c;并使用 grep 过滤出包含 "int" 的行。 "ps -aux" 显示当前系统上所有用户的进程列表&#xff0c;而 grep 命令则筛选出包含 "int" 的行。 ps -aux|grep int p代表process进程 1.什么是程序&#xff…

美国教育数据分析

文章目录 第1关&#xff1a;认识数据第2关&#xff1a;数据预处理第3关&#xff1a;数学成绩预测 第1关&#xff1a;认识数据 编程要求 根据提示&#xff0c;在右侧Begin-End区域补充代码&#xff0c;查看数据属性名称。 测试说明 程序会调用你实现的方法&#xff0c;查看数据…

【C++题解】1881. 循环输出1~100之间的每个数

问题&#xff1a;1881. 循环输出1~100之间的每个数 类型&#xff1a;循环 题目描述&#xff1a; 请循环输出 1∼100之间的每个整数&#xff0c;输出时每行输出1 个数。 比如&#xff0c;输出结果的前 10 个数是这样的&#xff1a; 1 2 3 4 5 6 7 8 9 10 …… 输入&#xff1…

新书推荐:6.1 if语句

计算机语言和人类语言类似&#xff0c;人类语言是为了解决人与人之间交流的问题&#xff0c;而计算机语言是为了解决程序员与计算机之间交流的问题。程序员编写的程序就是计算机的控制指令&#xff0c;控制计算机的运行。借助于编译工具&#xff0c;可以将各种不同的编程语言的…

MQTT物联网关

在物联网&#xff08;IoT&#xff09;日益融入我们生活与工作的今天&#xff0c;如何高效、安全地实现设备间的信息交换成为了行业的关键议题。MQTT&#xff0c;作为轻量级的发布/订阅消息传输协议&#xff0c;凭借其高效性、实时性和可扩展性&#xff0c;在物联网领域占据了举…

How to record real IP of user on nginx?

应用(Docker)使用WAF接入internet&#xff0c;nginx log 查不到用户的真实IP地址&#xff0c;于是修改nginx 设置&#xff0c;以下都是在linux下操作&#xff1a; 由于没有WAF权限&#xff0c;所以在 docker上启动了两个container&#xff0c;一个模拟WAF(r-proxy)&#xff0c…

uniapp高校二手书交易商城回收系统 微信小程序python+java+node.js+php

每年因为有大量的学生在接受教育&#xff0c;每到大学毕业季的时候&#xff0c;所使用的大量书籍对他们自己来说&#xff0c;很多是没有用&#xff0c;同时由于书籍多和不方便携带&#xff0c;导致很多大学生在毕业时将教材直接丢弃是在校大学生处理已用教材的一种主要方式。然…

LoadBalancer

一、手写随机负载均衡 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency><!--引入nacos discovery--> <dependency><groupId>com…

新书推荐:6.2 else if语句

本节必须掌握的知识点&#xff1a; 示例代码二十 代码分析 汇编解析 ■if语句表达形式3 if(表达式1) statement1 else if(表达式2) statement2 else if(表达式3) statement3 …… else statementN 解析&#xff1a; 如果表达式1非0&#xff0c;则执行statement1&#…

进化计算引领深度学习新纪元

《进化深度学习》介绍了进化计算(EC)&#xff0c;并为你提供了一套实用的技术工具&#xff0c;你可以在整个深度学习过程中应用这些技术。本书提供了遗传算法和进化计算方法在网络拓扑、生成模型、强化学习等方面的应用。通过交互式的Colab notebook使你有机会在探索过程中进行…

手机端如何访问本地vue+vite项目,实现实时调试?

一、应用场景 h5&#xff08;vuevite&#xff09;嵌入app后&#xff0c;出现某种问题时&#xff0c;需要每次发布坏境后&#xff0c;才能才看效果&#xff0c;这种来回很耗时间&#xff0c;本文章在于解决手机端直接访问本地启动应用项目&#xff0c;无需重复发布坏境 二、实…

服务器数据恢复—同友存储raid5阵列上层虚拟机数据恢复案例

服务器数据恢复环境&#xff1a; 某市教育局同友存储&#xff0c;存储中有一组由数块磁盘组建的raid5阵列&#xff0c;存储空间划分若干lun。每个lun中有若干台虚拟机&#xff0c;其中有数台linux操作系统的虚拟机为重要数据。 存储结构&#xff1a; 服务器故障&#xff1a; r…

【C语言】结构体内存对齐:热门面试话题

&#x1f525;引言 书接上文&#xff0c;我们了解关于结构体的基本知识&#xff0c;这篇将深入剖析结构体中一个重要的知识点:内存对齐 关于内存对齐是属于热门面试话题&#xff0c;对此单独放在一篇来分享 &#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记…

selenium 爬取今日头条

由于今日头条网页是动态渲染&#xff0c;再加上各种token再验证&#xff0c;因此直接通过API接口获取数据难度很大&#xff0c;本文使用selenium来实现新闻内容爬取。 selenium核心代码 知识点&#xff1a; 代码中加了很多的异常处理&#xff0c;保证错误后重试&#xff0c;…

kyuubi/spark3的catalog 多个数据源配置

在使用kyuubi 的时候&#xff0c;有多个集群&#xff0c;老集群上是hive2,新集群hive3 ,想通过一个网关访问多个集群&#xff0c;或者通过jdbc访问mysql&#xff0c;oracle的数据&#xff0c;这样不用来回数据导入导出。spark 支持跨库访问数据&#xff0c;在spark 中提供两种方…

软件设计师备考笔记(九):数据库技术基础

文章目录 一、基本概念二、数据模型&#xff08;一&#xff09;基本概念&#xff08;二&#xff09;E-R模型&#xff08;三&#xff09;数据模型 三、关系代数&#xff08;一&#xff09;关系数据库的基本概念&#xff08;二&#xff09;五种基本的关系代数运算&#xff08;三&…

日处理100吨污水处理设备安装需要多久

日处理100吨污水处理设备的安装时间取决于多种因素&#xff0c;包括设备的复杂性、安装地点的条件、所需的基础设施建设、以及安装团队的经验和效率等。以下是一个大致的安装时间框架和相关的考虑因素&#xff1a; 前期准备&#xff1a; 现场勘查和设计&#xff1a;1-2周&#…