您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

ad_sql__SELECT__LIKE

SQL LIKE 语法


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

参数说明:

column1, column2, ...:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。

table_name:要查询的表名称。

column:要搜索的字段名称。

pattern:搜索模式。

通配符

  • %:匹配任意字符(包括零个字符)。

  • _:匹配单个字符。

    实例

    假设我们有一个名为 Products 的表,包含以下数据:

    ProductID ProductName Category
    1 iPhone 12 Electronics
    2 Samsung Galaxy S21 Electronics
    3 Dell XPS 13 Electronics
    4 Nike Air Zoom Footwear
    5 Adidas Ultraboost Footwear

    |6 |Sony PlayStation 5 Electronics

    使用 % 通配符找出所有以 "iPhone" 开头的产品:

    
    SELECT ProductName, Category
    FROM Products
    WHERE ProductName LIKE 'iPhone%';
    

    返回以下数据:

    ProductName Category
    iPhone 12 Electronics

    使用 _ 通配符找出所有产品名称第二个字符为 "e" 的产品:

    
    SELECT ProductName, Category
    FROM Products
    WHERE ProductName LIKE '_e%';
    

    返回以下数据:

    ProductName Category
    Dell XPS 13 Electronics

    结合 % 和 _ 通配符找出所有产品名称包含 "Zoom" 的产品:

    
    SELECT ProductName, Category
    FROM Products
    WHERE ProductName LIKE '%Zoom%';
    

    返回以下数据:

    ProductName Category
    Nike Air Zoom Footwear

    演示数据库

    在本教程中,我们将使用 RUNOOB 样本数据库。

    下面是选自 "Websites" 表的数据:

    
    mysql> SELECT * FROM Websites;
    +----+---------------+---------------------------+-------+---------+
    +----+---------------+---------------------------+-------+---------+
    <table>
    <tr>
    <th>1</th>
    <th>Google</th>
    <th>https://www.google.cm/</th>
    <th>1</th>
    <th>USA</th>
    </tr>
    <tr>
    <td>3</td>
    <td>菜鸟教程</td>
    <td>http://www.runoob.com/</td>
    <td>5000</td>
    <td>USA</td>
    </tr>
    <tr>
    <td>4</td>
    <td>微博</td>
    <td>http://weibo.com/</td>
    <td>20</td>
    <td>CN</td>
    </tr>
    <tr>
    <td>5</td>
    <td>Facebook</td>
    <td>https://www.facebook.com/</td>
    <td>3</td>
    <td>USA</td>
    </tr>
    <tr>
    <td>7</td>
    <td>stackoverflow</td>
    <td>http://stackoverflow.com/</td>
    <td>0</td>
    <td>IND</td>
    </tr>
    </table>
    
    +----+---------------+---------------------------+-------+---------+
    

    SQL LIKE 操作符实例

    下面的 SQL 语句选取 name 以字母 "G" 开始的所有客户:

    实例

    
    SELECT * FROM Websites
    WHERE name LIKE 'G%';
    

    执行输出结果:

    ![alt selete like](https://www.runoob.com/wp-content/uploads/2013/09/like1.jpg)

    提示:"%" 符号用于在模式的前后定义通配符(默认字母)。您将在下一章中学习更多有关通配符的知识。

    下面的 SQL 语句选取 name 以字母 "k" 结尾的所有客户:

    实例

    
    SELECT * FROM Websites
    WHERE name LIKE '%k';
    

    执行输出结果:

    ![alt select like](https://www.runoob.com/wp-content/uploads/2013/09/like2.jpg)

    下面的 SQL 语句选取 name 包含模式 "oo" 的所有客户:

    实例

    
    SELECT * FROM Websites
    WHERE name LIKE '%oo%';
    

    执行输出结果:

    ![alt select like](https://www.runoob.com/wp-content/uploads/2013/09/like3.jpg)

    通过使用 NOT 关键字,您可以选取不匹配模式的记录。

    下面的 SQL 语句选取 name 不包含模式 "oo" 的所有客户:

    实例

    
    SELECT * FROM Websites
    WHERE name NOT LIKE '%oo%';
    

    执行输出结果:

    ![alt select not like](https://www.runoob.com/wp-content/uploads/2013/09/like4.jpg)

    来源:https://www.runoob.com/sql/sql-like.html