的结构化查询语言(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知识。