SQL - 运算符

欢迎,未来的数据库巫师们!今天,我们将深入到SQL运算符的神奇世界。如果你以前从未编写过一行代码,也不用担心——我们将从最基础的内容开始,逐步学习。在本教程结束时,你将能够像其他人一样熟练地操作数据!

SQL - Operators

什么是SQL运算符?

让我们从基础开始。SQL运算符就像是你的数据库工具箱中的特殊工具。它帮助你对数据进行操作,无论是比较值、做数学运算还是组合信息。可以把运算符想象成SQL句子中的动词——它们让事情发生!

例如,当你想说“我想要所有年龄大于30岁的客户”时,“大于”部分就是一个运算符。它在告诉数据库如何过滤你的数据。

SQL中的运算符类型

现在,让我们探索SQL中不同类型的运算符。我们将它们分类并提供每个类别的示例。系好安全带,因为我们即将在运算符游乐园中坐上过山车!

1. 算术运算符

这些运算符帮助你对数据进行数学运算。下面是算术运算符的表格:

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

让我们看看它们是如何工作的:

SELECT product_name, price, price * 1.1 AS price_with_tax
FROM products;

在这个例子中,我们正在计算包含10%税的新价格。* 运算符将原始价格乘以1.1。

2. 比较运算符

这些运算符帮助你比较值。它们对于过滤数据超级有用。下面是比较运算符的表格:

运算符 描述 示例
= 等于 age = 30
<> 不等于 status <> 'Completed'
> 大于 price > 100
< 小于 quantity < 5
>= 大于或等于 rating >= 4
<= 小于或等于 discount <= 0.2

让我们在查询中使用它们:

SELECT customer_name, age
FROM customers
WHERE age > 30 AND status = 'Active';

这个查询找到所有年龄超过30岁的活跃客户。> 运算符检查年龄是否超过30岁,而= 运算符确保状态正是 'Active'。

3. 逻辑运算符

逻辑运算符帮助你组合多个条件。它们就像是把你复杂查询粘合在一起的胶水。下面是逻辑运算符的表格:

运算符 描述
AND 如果两个条件都为真,则为真
OR 如果任一条件为真,则为真
NOT 反转条件的结果

让我们看看如何使用它们:

SELECT product_name, price, category
FROM products
WHERE (category = 'Electronics' OR category = 'Computers')
AND price < 1000
AND NOT discontinued;

这个查询找到属于Electronics或Computers类别、价格低于1000美元且未停产的产品。就像告诉数据库:“给我所有既酷炫又不会破产,且仍然可用的 gadgets!”

4. LIKE 运算符

LIKE 运算符是你在文本数据中搜索模式时的最佳朋友。它使用通配符来匹配字符串的一部分:

  • % : 匹配任何数量的字符
  • _ : 匹配单个字符

下面是一个示例:

SELECT customer_name, email
FROM customers
WHERE email LIKE '%@gmail.com';

这个查询找到所有使用Gmail邮箱的客户。% 通配符匹配 '@gmail.com' 之前的任何字符。

5. IN 运算符

IN 运算符是一种简写方式,用于组合多个 OR 条件。当你需要在一系列值中查找匹配项时,它非常方便。

SELECT product_name, category
FROM products
WHERE category IN ('Books', 'Movies', 'Music');

这个查询检索所有属于Books、Movies或Music类别的产品。这比编写 category = 'Books' OR category = 'Movies' OR category = 'Music' 要干净得多。

6. BETWEEN 运算符

BETWEEN 运算符帮助你找到范围内的值。它是包含边界值的。

SELECT order_id, order_date, total_amount
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

这个查询找到所有在2023年下的订单。就像说:“展示所有从新年第一天到新年除夕之间的内容!”

SQL 运算符优先级

现在我们已经见到了这些出色的运算符,当你在一个查询中使用多个运算符时,了解SQL如何决定先评估哪些运算符是很重要的。这被称为运算符优先级。

下面是一个简化的SQL运算符优先级表格,从最高到最低:

  1. 括号 ()
  2. 乘法/除法 (*, /)
  3. 加法/减法 (+, -)
  4. 比较运算符 (=, <>, <, >, <=, >=)
  5. NOT
  6. AND
  7. OR

让我们看看它是如何工作的:

SELECT product_name, price, category
FROM products
WHERE category = 'Electronics' AND (price < 500 OR rating > 4);

在这个查询中,SQL将会:

  1. 首先评估括号内的条件(price < 500 OR rating > 4)
  2. 然后将 AND 运算符与类别条件结合

这会给我们所有价格低于500美元或评分超过4的电子产品。

记住,如果你不确定或者想覆盖默认的优先级,你总是可以使用括号来显式控制运算的顺序。

那么,各位,以上就是关于SQL运算符的速成课程。有了这些工具,你离成为数据操作大师又近了一步。记住,熟能生巧,所以不要害怕在你们自己的查询中尝试这些运算符。快乐编码!

Credits: Image by storyset