PostgreSQL - 运算符:数据库魔法的友好指南

你好,未来的数据库巫师们!今天,我们将踏上一段激动人心的旅程,探索 PostgreSQL 运算符的世界。如果你是编程新手,不用担心——我会成为你可靠的向导,我们会一步步地探索这个主题。在本教程结束时,你将会惊讶于你所学到的东西!

PostgreSQL - Operators

什么是运算符?

在我们深入之前,让我们先谈谈运算符是什么。想象运算符是特殊的符号,告诉 PostgreSQL 执行特定的操作或比较。它们就像是数据库世界的魔法棒——只需几个字符,你就可以实现强大的功能!

PostgreSQL 算术运算符

让我们从熟悉的东西开始——数学!PostgreSQL 有算术运算符,它们的工作方式就像你在学校学到的运算符一样。

基本算术运算符

下面是基本算术运算符的表格:

运算符 描述 示例
+ 加法 5 + 3
- 减法 7 - 2
* 乘法 4 * 6
/ 除法 10 / 2
% 取模(余数) 7 % 3

让我们看看这些运算符的实际应用:

SELECT 5 + 3 AS 加法,
7 - 2 AS 减法,
4 * 6 AS 乘法,
10 / 2 AS 除法,
7 % 3 AS 取模;

这个查询将返回:

加法 | 减法 | 乘法 | 除法 | 取模
-----|------|------|------|------
8  |   5  |  24  |   5  |   1

这难道不酷吗?只需一行代码,我们就完成了五种不同的计算!

数字乐趣

这里有一个小故事来帮助记忆这些运算符。想象你正在计划一个派对:

  • 你邀请了5个朋友,但又有3个不请自来(5 + 3 = 8 总共的客人)
  • 2个人提前离开了(8 - 2 = 6 剩余的客人)
  • 你有4个披萨,每个切成6片(4 * 6 = 24 总共的片)
  • 你将片平均分给6个客人(24 / 6 = 4 每人4片)
  • 还剩下1片(25 % 6 = 1 余数)

PostgreSQL 比较运算符

现在,让我们继续前进到比较运算符。这些用于比较值并返回真或假。

比较运算符表格

运算符 描述 示例
= 等于 5 = 5
<> 不等于 5 <> 3
< 小于 3 < 5
> 大于 5 > 3
<= 小于或等于 3 <= 3
>= 大于或等于 5 >= 5

让我们在现实世界的场景中使用这些运算符。想象我们有一个产品表:

CREATE TABLE products (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
price DECIMAL(10, 2),
stock INT
);

INSERT INTO products (name, price, stock) VALUES
('笔记本电脑', 999.99, 50),
('智能手机', 599.99, 100),
('耳机', 79.99, 200);

SELECT name, price
FROM products
WHERE price > 500;

这个查询将返回:

name    |  price
-----------|--------
笔记本电脑 | 999.99
智能手机 | 599.99

在这里,我们使用 '>' 运算符来查找价格超过500美元的产品。这就像是在问,“给我展示所有贵的东西!”

PostgreSQL 逻辑运算符

逻辑运算符允许我们组合多个条件。它们就像是运算符世界的决策者。

逻辑运算符表格

运算符 描述 示例
AND 两个条件都必须为真 a > 5 AND b < 10
OR 至少一个条件必须为真 a > 5 OR b < 10
NOT 否定一个条件 NOT a = 5

让我们在我们的产品示例中使用这些:

SELECT name, price, stock
FROM products
WHERE price < 600 AND stock > 150;

这个查询将返回:

name    | price | stock
-----------|-------|------
耳机 | 79.99 |  200

我们在询问价格低于600美元并且库存超过150的产品。这就像是在说,“展示我那些既实惠又库存充足的产品!”

PostgreSQL 位字符串运算符

现在,让我们进入更高级的领域——位字符串运算符。这些运算符在位上操作,位是计算中最小的数据单位。

位字符串运算符表格

运算符 描述 示例
& 位与 B'1010' & B'1100'
位或
# 位异或 B'1010' # B'1100'
~ 位非 ~ B'1010'
<< 位左移 B'1010' << 1
>> 位右移 B'1010' >> 1

这些可能看起来有点抽象,所以让我们用一个例子来分解:

SELECT
B'1010' & B'1100' AS 位与,
B'1010' | B'1100' AS 位或,
B'1010' # B'1100' AS 位异或,
~ B'1010' AS 位非,
B'1010' << 1 AS 左移,
B'1010' >> 1 AS 右移;

这将给你:

位与 | 位或 | 位异或 | 位非          | 左移  | 右移
-----|------|--------|--------------|------|------
1000 | 1110 |   0110 | 11110101     | 10100 |   101

想象这些是位之间的秘密握手。它们在低级编程和数据操作中非常有用!

就这样,伙计们!我们已经穿越了 PostgreSQL 运算符的土地,从基本的算术到神秘的位运算。记住,熟能生巧,所以不要害怕在你自己的查询中尝试这些运算符。在你意识到之前,你将能够像一个专业人士那样编写复杂的查询!

Credits: Image by storyset