SQL高级教程

news/2024/12/22 15:13:29/

SQL TOP 子句

TOP 子句

TOP 子句用于规定要返回的记录的数目。

对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。

注释:并非所有的数据库系统都支持 TOP 子句。

SQL Server 的语法:

SELECT TOP number|percent column_name(s)
FROM table_name

MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的

MySQL 语法

SELECT column_name(s)
FROM table_name
LIMIT number

例子

SELECT *
FROM Persons
LIMIT 5

Oracle 语法

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number

例子

SELECT *
FROM Persons
WHERE ROWNUM <= 5

原始的表 (用在例子中的):

Persons 表:

SQL TOP 实例

现在,我们希望从上面的 "Persons" 表中选取头两条记录。

我们可以使用下面的 SELECT 语句:

SELECT TOP 2 * FROM Persons

 结果:

SQL TOP PERCENT 实例

现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。

我们可以使用下面的 SELECT 语句:

SELECT TOP 50 PERCENT * FROM Persons

 结果:

SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SQL LIKE 操作符语法

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

原始的表 (用在例子中的):

Persons 表:

 

LIKE 操作符实例

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE 'N%'

提示:"%" 可用于定义通配符(模式中缺少的字母)。

结果集:

接下来,我们希望从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '%g'

 结果集:

接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '%lon%'

 结果集:

 

通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City NOT LIKE '%lon%'

结果集:

 

SQL 通配符

在搜索数据库中的数据时,您可以使用 SQL 通配符。

SQL 通配符

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。

在 SQL 中,可使用以下通配符:

 

原始的表 (用在例子中的):

Persons 表:

使用 % 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE 'Ne%'

 

例子 2

接下来,我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '%lond%'

 

使用 _ 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE FirstName LIKE '_eorge'

 

例子 2

接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是一个任意字符,然后是 "er":

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE LastName LIKE 'C_r_er'

 

使用 [charlist] 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '[ALN]%'

 

现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '[!ALN]%'

 

 

SQL IN 操作符

IN 操作符

IN 操作符允许我们在 WHERE 子句中规定多个值。

SQL IN 语法

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

原始的表 (在实例中使用:)

Persons 表:

IN 操作符实例

现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')

 

 

SQL BETWEEN 操作符

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。

BETWEEN 操作符

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

原始的表 (在实例中使用:)

Persons 表:

BETWEEN 操作符实例

如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL:

SELECT * FROM Persons
WHERE LastName
BETWEEN 'Adams' AND 'Carter'

 

重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。

所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!

实例 2

如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Adams' AND 'Carter'

 

本篇文章就到这了,期待博主第三篇文章 


http://www.ppmy.cn/news/701115.html

相关文章

华为云等保解决方案,全流程等保服务,帮助企业守护信息安全

随着信息技术的发展&#xff0c;网络信息安全的重要性愈发凸显&#xff0c;大到党政机关、金融系统&#xff0c;小到电商、游戏、酒店甚至网民个人&#xff0c;信息安全关系到我们每个人乃至整个国家的切身利益&#xff0c;信息安全保护刻不容缓。保护网络信息安全已经提升到了…

诸如i云保网络保险平台的内勤裁员之路在哪里?

2022年&#xff0c;数百万保险代理人 大脱落的消息陆续引起众人关注&#xff0c;诸如i云保 &#xff0c;慧择保险 &#xff0c;小雨伞保险 都受到了不同程度的冲击&#xff0c;各方褒贬不一&#xff0c;说什么的都有。但是&#xff0c;大家却忽略了另一个层面的人&#xff1a;内…

保险公司智能运营系统文档

一、项目前景和范围 项目前景 为甲方养老保险公司&#xff08;200人左右&#xff09;提供内部智能运营平台&#xff0c;让保险公司内部人员通过平台&#xff0c;简易工作流程&#xff0c;提高工作效率&#xff0c;帮助甲方公司提供简单有力的数字化养老保险服务。 项目范围 …

【沙发管家】智能电视自带的应用商店不能用怎么办 ?沙发管家教你解决

最近很多品牌的智能电视自带的应用商店都无法提供第三方软件的更新与下载&#xff0c;特别是直播类应用&#xff0c;其实具体原因&#xff0c;相信不用解释大家也差不多知道&#xff0c;今天小编就来给大家分享一下&#xff0c;如何在智能电视应用商店不能用的情况下&#xff0…

保险公司智能运营系统——软件需求规格说明

软件需求规格说明 a. 引言 软件需求规格说明描述了“保险公司运营平台”1.0版本保险业务部分的软件功能性需求和非功能性需求。本文档的需求规格说明系统系统特性只包含保单录入、保单追踪、保单变更维护到保险理赔。这一文档计划由实现和验证系统正确功能的项目团队成员来使…

Linux与Android之间的关系

android 为什么为选择Linux 强大的内存管理和进程管理方案基于权限的安全模式支持共享库经过认证的驱动模式linux本身就是开源项目 android 不是linux它没有本地窗口系统 Linux用的X窗口系统&#xff0c; Mac 上OX X的Quartz Android上并没有使用它没有glibc的支持 采用了Goog…

哈希表--day6--总结篇

文章目录 数组作为哈希表set作为哈希表map作为哈希表 一般来说哈希表都是用来快速判断一个元素是否出现集合里。 对于哈希表&#xff0c;要知道哈希函数和哈希碰撞在哈希表中的作用. 哈希函数是把传入的key映射到符号表的索引上。 哈希碰撞处理有多个key映射到相同索引上时的…

呼吸灯及可调节灯

呼吸灯&#xff08;亮度逐渐变化&#xff09; 通过时间对全部亮度的显示进行控制 可调灯&#xff08;按钮控制亮度程度&#xff09; 视频&#xff1a; 呼吸灯&#xff1a;https://v.qq.com/x/page/r3013phd0gk.html 可调节灯&#xff1a;https://v.qq.com/x/page/r301329tmz…