本章详细介绍了 SQLite SELECT
语句的实现。
SQLite 检索所有数据
以下 SQL 语句是最常见的语句之一。 它也是最昂贵的之一。
在这里,我们从Cars
表中检索所有数据。
SQLite 选择特定列
我们可以使用SELECT
语句来检索特定的列。 列名紧随SELECT
字。
我们检索Name
和Price
列。 列名用逗号分隔。
SQLite 重命名列名
我们可以重命名返回结果集的列名。 为此,我们使用AS
子句。
通过上面的 SQL 语句,我们将Price
列重命名为Price of car
。
SQLite 限制数据输出
如上所述,在处理大量数据时,检索所有数据非常昂贵。 我们可以使用LIMIT
子句来限制该语句返回的数据量。
LIMIT
子句将返回的行数限制为 4。
该语句选择四行,跳过前两行。
LIMIT
之后的OFFSET
子句指定在结果集的开头要跳过多少行。 这是上一个解决方案的替代方案。
在这里,我们从最多四行中选择所有数据,然后从第三行开始。 OFFSET
子句跳过前两行。
SQLite 排序数据
我们使用ORDER BY
子句对返回的数据集进行排序。 ORDER BY
子句后面是进行排序的列。 ASC
关键字以升序对数据进行排序,DESC
则以降序对数据进行排序。
默认排序为升序。 ASC
子句可以省略。
在上面的 SQL 语句中,我们从Cars
表中选择Name
和Price
列,并按汽车的Price
降序对其进行排序。 因此,最昂贵的汽车排在第一位。
SQLite 按更多列排序数据
可以按多于一列的顺序订购数据。
在此示例中,我们添加了两辆价格为 9000 的汽车。
在语句中,我们按两列对数据进行排序:价格和名称。 名称按降序排列。
SQLite 使用WHERE
选择特定行
下一组示例使用Orders
表。
在这里,我们看到Orders
表中的所有数据。
接下来,我们要选择一个特定的行。
上面的 SQL 语句选择具有 ID 6 的行。
上面的 SQL 语句选择 Smith 客户的所有订单。
我们可以使用LIKE
子句在数据中查找特定的模式。
该 SQL 语句从名称以字母 B 开头的客户中选择所有订单。
SQLite 删除重复项
DISTINCT
子句用于从结果集中仅选择唯一项。
这次,我们选择了名称以 B 开头的客户。我们可以看到 Brown 出现了两次。 要删除重复项,我们使用DISTINCT
关键字。
这是正确的解决方案。
SQLite 组数据
GROUP BY
子句用于将具有相同值的数据库记录组合到单个记录中。 它通常与聚合函数一起使用。
假设我们想找出每个客户的订单总和。
sum()
函数返回数字列的总和。 GROUP BY
子句将总金额分配给客户。 因此,我们可以看到 Black 为 2040 订购了 440 或 Smith 的商品。
使用聚合函数时,不能使用WHERE
子句。 我们改用HAVING
子句。
上面的 SQL 语句选择总订单量大于 1000 个单位的客户。