SQL - 万用字符:初学者的友好指南

你好,有抱负的SQL爱好者们!今天,我们将深入到SQL万用字符的精彩世界。如果你是编程新手,不用担心——我会一步一步地引导你了解这个主题,就像我多年来教导无数学生一样。所以,拿起你最喜欢的饮料,让我们一起开始这段令人兴奋的SQL冒险!

SQL - Wildcards

什么是SQL万用字符?

在我们深入研究细节之前,让我们先了解一下SQL中的万用字符是什么。想象你在玩牌游戏,你有一张百搭牌,它可以代表牌堆中的任何其他牌。这在SQL中几乎就是万用字符的作用——它们是特殊的字符,可以代表字符串中的一个或多个其他字符。

当你在搜索数据但不知道确切值时,万用字符非常有用。它们就像是SQL世界的侦探犬,嗅出与某些模式匹配的数据。

SQL万用字符的类型

让我们来认识一下我们的万用字符。每个字符都有自己的超能力:

万用字符 描述 示例
% 代表零个、一个或多个字符 'b%' 匹配 'bear', 'big', 'banana'
_ 代表一个字符 'h_t' 匹配 'hot', 'hat', 'hit'
[charlist] 代表charlist中的任意一个字符 '[bsp]at' 匹配 'bat', 'sat', 'pat'
[^charlist] 或 [!charlist] 代表不在charlist中的任意一个字符 '[^bsp]at' 匹配 'cat', 'rat',但不匹配 'bat'

SQL万用字符的语法

现在我们已经认识了我们的万用字符朋友,让我们看看如何在SQL查询中使用它们。你主要会在SQL语句的WHERE子句中使用万用字符,通常与LIKE操作符一起使用。

这里是最基本的语法:

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

pattern 是我们的万用字符发挥作用的地方。让我们看一些示例,了解这在实际中是如何工作的。

SQL万用字符示例

示例1:%万用字符

假设我们有一个名为Fruits的表,其中有一个列FruitName。我们想要找到所有以字母'a'开头的果实。

SELECT * FROM Fruits
WHERE FruitName LIKE 'a%';

这个查询可能会返回以下结果:

  • Apple
  • Apricot
  • Avocado

'%'在'a'之后意味着“'a'之后可以跟任意数量的字符”。

示例2:_万用字符

现在,让我们找到所有名字正好有5个字母的果实。

SELECT * FROM Fruits
WHERE FruitName LIKE '_____';

这可能会返回:

  • Apple
  • Mango
  • Peach

每个'_'代表一个字符,所以五个下划线意味着我们在寻找名字正好有五个字符的果实。

示例3:组合万用字符

我们也可以组合万用字符来表示更复杂的模式。让我们找到所有以'b'开头并以'y'结尾的果实:

SELECT * FROM Fruits
WHERE FruitName LIKE 'b%y';

这可能返回:

  • Berry
  • Blackberry
  • Boysenberry

示例4:使用[charlist]

现在,让我们找到所有以'p'或'c'开头的果实:

SELECT * FROM Fruits
WHERE FruitName LIKE '[pc]%';

这可能返回:

  • Peach
  • Pear
  • Cherry
  • Coconut

示例5:使用[^charlist]

最后,让我们找到所有不以'a'、'b'或'c'开头的果实:

SELECT * FROM Fruits
WHERE FruitName LIKE '[^abc]%';

这可能返回以下果实:

  • Mango
  • Durian
  • Fig

输出和解释

当你运行这些查询时,你的数据库管理系统将返回一个表格,其中包含所有匹配你的万用字符模式的行。这就像让数据库用你的数据玩“我猜我看到了什么”的游戏!

例如,如果我们运行示例1中的查询:

SELECT * FROM Fruits
WHERE FruitName LIKE 'a%';

我们可能会看到如下输出:

FruitID FruitName Color
1 Apple Red
3 Apricot Orange
7 Avocado Green

这告诉我们我们的数据库中有三种以'a'开头的果实,并展示了我们关于这些果实的所有信息。

结论

好了,朋友们!我们已经探索了SQL万用字符的野生和奇妙世界。这些小字符可能看起来很简单,但它们是你在SQL工具箱中非常强大的工具。它们允许你在数据中搜索模式,使你的查询更加灵活和强大。

记住,熟能生巧。尝试创建你自己的表格并尝试不同的万用字符组合。在你意识到之前,你将像专业人士一样使用万用字符,轻松地在数据堆栈中找到针!

快乐查询,愿你的数据总是结构良好,你的查询总是取得巨大成功!

Credits: Image by storyset