选择SQL中范围内的数据

介绍WHERE子句和BETWEEN条件

SQL代码

KIVILCIM PINAR / Getty Images

结构化查询语言(SQL)为数据库用户提供创建自定义查询以从数据库中提取信息的能力。在前面的一篇文章中,我们探讨了如何从数据库中提取信息使用SQL SELECT查询。让我们进一步讨论并探索如何执行advanced查询要检索以下数据比赛具体情况

让我们考虑一个基于常用的罗斯文数据库,频繁使用数据库产品作为教程。

这是数据库产品表中的摘录:

ProductID ProductName SupplierID QuantityPerUnit UnitPrice unitsinstocks
1 1 10盒x 20袋 18.00 39
2 1 24 - 12盎司的瓶子 19.00 17
3. 八角糖浆 1 12 - 550毫升瓶 10.00 13
4 安东主厨的法式调味料 2 48 - 6盎司的罐子 22.00 53
5 安东主厨的秋葵汤 2 36箱 21.35 0
6 奶奶的传播一种杂交草莓 3. 12 - 8盎司的罐子 25.00 120
7 鲍勃叔叔的有机梨干 3. 12 - 1磅pkgs。 30.00 15
产品表

简单的边界条件

我们将对查询设置的第一个限制涉及简单的边界条件。我们可以在SELECT查询的WHERE子句中指定它们,使用由标准操作符(如<、>、>=和<=)构造的简单条件语句。

首先,让我们尝试一个简单的查询,允许我们在数据库中提取所有产品的所有产品列表,其中包含超过20.00的UnitPrice:

选择ProductName, UnitPrice
从产品
在UnitPrice > 20.00

这将产生一个包含四个产品的列表,如下所示:

ProductName UnitPrice
------- --------
安东主厨的秋葵混合汤21.35
安东主厨的卡真调味料,22点
奶奶的波森莓酱,25。00
鲍勃叔叔的有机梨干30

我们还可以使用带字符串值的Where子句。这基本上将字符等式等于数字,表示表示值26的值1和z。例如,我们可以使用以下查询显示具有名称的名称,其中包含以下查询:

选择ProductName
从产品
WHERE ProductName >= 'T'

结果是:

ProductName
-------
鲍勃叔叔的有机梨干

使用边界表示范围

WHERE子句还允许我们通过使用多个条件来实现一个值的范围条件。例如,如果我们想使用上面的查询并将结果限制在价格介于15.00到20.00之间的产品,我们可以使用以下查询:

选择ProductName, UnitPrice
从产品
UnitPrice > 15.00 AND UnitPrice < 20.00

这会产生如下所示的结果:

ProductName UnitPrice
------- --------
柴18.00
张19.00

用BETWEEN表示范围

SQL还提供了BETWEEN语法的快捷方式,减少了需要包含的条件数量,并使查询更具可读性。例如,不使用上面的两个WHERE条件,我们可以表示相同的查询:

选择ProductName, UnitPrice
从产品
单价在15.00到20.00之间

与我们的其他条件条款一样,与字符串值之间的作品之间。如果我们想生成以v,w或x开头的所有国家的列表,我们可以使用查询:

选择ProductName
从产品
在“a”和“d”之间的产品名称

结果是:

ProductName
-------
八角糖浆


安东主厨的秋葵汤
安东主厨的法式调味料

where子句是SQL语言的强大部分,允许您将结果限制为下落在指定范围内的值。它非常常用于帮助表达业务逻辑,并应该是每个数据库专业人员工具包的一部分。将共同的子句融入存储过程通常有助于使其可以访问,而没有SQL知识。

这个页面有用吗?