⑩⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗

简介: ⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗

6.1 一般数据查询功能扩展

考点1 使用TOP限制结果集

(1)适用情况

当使用SELECT语句进行查询时,有时只希望列出结果集中的前几行数据,而不是全部数据,这时就可以使用TOP谓词来限制输出的结果。


(2)语法格式


TOP n [percent] [WITH TIES]


其中,n为非负整数。


①TOP n:取查询结果的前n行数据;


②TOP n percent:取查询结果的前n%行数据;


③WITH TIES:表示包括最后一行取值并列的结果。


TOP谓词写在SELECT单词的后边(如果有DISTINCT的话,则TOP写在DISTINCT的后边)、查询列表的前边。


注意:在使用TOP谓词时,应该与ORDER BY子句一起使用,这样的前几名才有意义。当使用WITH TIES选项时,则要求必须使用ORDER BY子句。


目前MySQL并不支持top n的语法,limit n 需要的更加的频繁



考点2 使用CASE函数

(1)适用情况


可以在查询语句中使用CASE函数,以达到分情况显示不同类型的数据的目的。CASE函数是一种多分支表达式,它计算条件列表并返回多个可能的结果表达式中的一个。


(2)类型


简单CASE函数和搜索CASE函数。


(3)简单CASE函数


①语法格式

CASE测试表达式
WHEN简单表达式1 THEN结果表达式1
WHEN简单表达式2 THEN结果表达式2
WHEN简单表达式n THEN结果表达式n
[EISE结果表达式n+1]
END

②执行过程


a.计算测试表达式,然后按从上到下的顺序对每个WHEN子句的简单表达式进行计算。


b.如果某个简单表达式的值与测试表达式的值相匹配,则返回与第一个取值为True的WHEN对应的结果表达式的值。


c.如果所有的简单表达式的值都不与测试表达式的值相匹配,则当指定了ELSE子句时,将返回ELSE子句中指定的结果表达式的值;若没有指定ELSE子句,则返回NULL值。


(4)搜索CASE函数


①语法格式


搜索CASE函数的各个WHEN子句的布尔表达式可以使用比较运算符,也可以使用逻辑运算符。


②执行过程


搜索CASE函数的执行过程同简单CASE函数。


③例题


【例1】查询每种商品的销售次数,如果销售次数超过10次,则显示“热门商品”,如果销售次数在5~10次之间,则显示“一般商品”,如果销售次数低于5次,则显示“难销商品”,如果商品没有被销售过,则显示“滞销商品”。


分析:由于要查询的是全部商品的销售情况,包括有销售记录的和没有销售记录的,因此,应该用外连接实现。另外,在统计每种商品的销售次数时,应该使用COUNT(列名)函数,不能使用COUNT(*)函数,而且应该对外连接后的销售记录表中的商品编号列进行统计。


【真题演练】


设SC表中记录成绩的列为:Grade,类型为int。若在查询成绩时,希望将成绩按“优”、“良”、“中”、“及格”和“不及格”形式显示,正确的Case函数是(    )。


A.image.png



B.image.png




C.image.png



D.image.png



【答案】C


考点3 将查询结果保存到新表中

(1)适用情况


当使用SELECT语句查询数据时,产生的结果是保存在内存中的。如果希望将查询结果永久保存下来,比如保存在一个表中,则可以通过在SELECT语句中使用INTO子句实现。


(2)INTO子句的语法格式


SELECT查询列表序列 INTO<新表名>


FROM数据源


…          - -其他行过滤、分组等子句


其中“新表名”是要存放查询结果的表名。这个语句将查询的结果保存在“新表名”所指定的表中。实际上这个语句包含如下三个功能:


①根据查询语句列出的列以及其类型创建一个新表;


②执行查询语句;


③将查询的结果插入到新表中。


(3)INTO语句创建新表的分类


用INTO子句创建的新表可以是永久表(在执行这个语句时所使用的数据库中被物理的创建,并且是存储在磁盘上的表),也可以是临时表(在tempdb数据库中创建此表,其生存期是有限的)。临时表又根据其使用范围分为局部临时表和全局临时表两种。


①局部临时表


局部临时表通过在表名前加一个“#”来标识,比如:#T1,表示“#T1”是一个局部临时表。局部临时表的生存期与创建此局部临时表的用户的连接生存期相同,它只能在创建此局部临时表的当前连接中使用。


②全局临时表


全局临时表通过在表名前加两个“#”来标识,比如:##T1,表示“##T1”是一个全局临时表。全局临时表的生存期与创建全局临时表的用户的连接生存期相同,并且在生存期内可以被所有的连接使用。


可以对局部临时表和全局临时表中的数据进行查询,其方法同永久表一样。


相关文章
|
1天前
|
存储 SQL 人工智能
数据库技术:原理、实践与未来展望
一、引言 数据库技术是现代信息系统中的关键组成部分,它为我们提供了高效、可靠的数据存储、查询和管理手段
|
1天前
|
存储 SQL 人工智能
数据库技术:原理、应用与未来趋势
一、引言 数据库技术作为现代信息科技的重要组成部分,不仅为数据的存储、检索和管理提供了强大的支撑,还在推动数字化转型、大数据分析和人工智能等领域的发展中发挥着关键作用
|
1天前
|
SQL 存储 NoSQL
数据库技术:基石、创新与发展趋势
一、引言 在当今数字化时代,数据已成为企业的核心资产
|
1天前
|
SQL 存储 数据处理
数据库技术:核心原理、应用场景与未来趋势
一、引言 数据库技术作为现代信息科技的重要支柱,为企业和组织提供了稳定、高效的数据管理手段
|
1天前
|
存储 SQL 多模数据库
数据库技术:核心要素、行业应用及未来展望
一、引言 数据库技术是现代信息技术的重要组成部分,它承载着数据存储、管理、检索和分析的核心功能
|
1天前
|
存储 SQL NoSQL
数据库的奥秘与力量:揭秘数据库技术的核心与前沿
一、引言 在当今信息爆炸的时代,数据库技术作为数据存储、管理与分析的基石,其重要性不言而喻
|
2天前
|
存储 人工智能 关系型数据库
数据库的深度探索:技术演进、应用领域与未来趋势
一、引言 数据库,作为信息技术领域中的关键组件,不仅为数据的存储、检索和管理提供了强有力的支持,而且随着技术的不断发展,其功能和应用领域也在不断扩展
|
2天前
|
存储 NoSQL 关系型数据库
数据库的演变与未来:技术趋势与行业应用
一、引言 数据库作为信息技术的核心组成部分,承载着数据的存储、管理和分析功能
|
2天前
|
存储 Cloud Native 关系型数据库
数据库的演进与前沿技术:塑造数据驱动的未来
一、引言 在数字化时代,数据库作为信息存储、管理和分析的核心工具,其重要性日益凸显
|
2天前
|
安全 NoSQL 物联网
数据库的演进与应用:技术、挑战与未来
一、引言 数据库作为信息时代的核心基础设施,经历了从简单到复杂、从单机到分布式的演进过程