HomeAboutLinkArchivehi灯泡

PostgreSQL6

Database

关键词

FROM

指定要处理的行的起始集

JOIN

合并其他表中的数据

WHERE

筛选行集

GRUOP BY

按唯一的值集对行进行分组

HAVING

筛选组集

排序

ORDER BY 子句用于对结果集进行排序。

  • ASC:表示升序
  • DESC:表示降序
SELECT *
FROM pruducts
ORDER BY price;
SELECT *
FROM pruducts
ORDER BY price DESC;
SELECT *
FROM pruducts
ORDER BY price ASC;

排序是我们要处理的比较容易的事情之一。

用户的数量 OFFSET OR LIMIT

SELECT COUNT(*) FROM users;

但我只希望看到最后 10个用户

SELECT *
FROM users
OFFSET 40;

OFFSET 是一个只 SQL 查询中用于指定从哪一行开始返回数据的字句。通常与 LIMIT 子句一起使用,以实现分页查询。 LIMIT 限制 记录数

便宜的五条数据

SELECT *
FROM products
ORDER BY price
LIMIT: 5;

最贵的五个产品

SELECT *
FROM products
ORDER BY price DESC
LIMTI 5;

Union

在SQL中,UNION操作用于合并两个或多个SELECT语句的结果集。UNION操作用于合并结果集,并删除重复的行。如果希望保留重复的行,可以使用UNION ALL。

(
 SELECT *
 FROM products
 ORDER BY price DESC
 LIMIT 4
)
UNION
(
 SELECT *
 FROM products
 ORDER BY price / weight DESC
 LIMIT 4
);

现在得到了最贵的商品,和排名前4的单价。

如果 UNION 关键字在两个列表中看到同一行,那么它只会再一次输出 此查询中的此查询的结果在一个实例中产生了相同的行,并决定了联合以除去重复项。 如果我们不希望删除该重复项,我们可以稍微更改关键字并使用 UNION ALL

(
 SELECT *
 FROM products
 ORDER BY price DESC
 LIMIT 4
)
UNION ALL
(
 SELECT *
 FROM products
 ORDER BY price / weight DESC
 LIMIT 4
);

我们只允许在结果有两个查询的结果之间使用 union 关键字,它们必须具有相同的名称,并且其中的数据必须是相同类型的数据

the end.