SQL 像 – SQL 不像
SQL LIKE是与WHERE子句一起使用的,用于搜索某一列的模式。通配符是用于指定模式的符号。有两个与LIKE运算符一起使用的通配符。
-
- %:百分比用于表示单个、多个或没有发生的情况。
- _:下划线用于表示单个字符。
SQL的类似语法
SQL的Like运算符可以与任何带有where子句的查询一起使用,因此我们可以在选择、删除、更新等操作中使用它。
SELECT column FROM table_name WHERE column LIKE pattern;
UPDATE table_name SET column=value WHERE column LIKE pattern;
DELETE FROM table_name WHERE column LIKE pattern;
在上述提到的sql类语法中,“pattern”是通过使用通配符来定义的那个。
SQL Like 示例
让我们通过一些例子来理解SQL LIKE语句与通配符的用法。以以下客户表为例。
CustomerId | CustomerName |
---|---|
1 | Amit |
2 | John |
3 | Annie |
-
- 查找以字母’A’开头的顾客姓名。
-
- SELECT CustomerName FROM Customer WHERE CustomerName LIKE ‘A%’;
输出:Amit Annie
查找以字母’e’结尾的顾客姓名。
SELECT CustomerName FROM Customer WHERE CustomerName LIKE ‘%e’
输出:Annie
查找以字母’A’开头且以字母’t’结尾的顾客姓名。
SELECT CustomerName FROM Customer WHERE CustomerName LIKE ‘A%t’
输出:Amit
查找姓名中包含字母’n’的顾客姓名。
SELECT CustomerName FROM Customer WHERE CustomerName LIKE ‘%n%’
输出:Annie John
查找姓名中第二个位置为字母’n’的顾客姓名。
SELECT CustomerName FROM Customer WHERE CustomerName LIKE ‘_n%’
输出:Annie
查找姓名中第三个位置为字母’i’且以字母’t’结尾的顾客姓名。
SELECT CustomerName FROM Customer WHERE CustomerName LIKE ‘__i%t’
输出:Amit
SQL不像
有时候我们想要获取不符合给定模式的记录。在这种情况下,我们可以使用SQL的not like操作符。SQL not like语句的语法如下所示。
SELECT column FROM table_name WHERE column NOT LIKE pattern;
UPDATE table_name SET column=value WHERE column NOT LIKE pattern;
DELETE FROM table_name WHERE column NOT LIKE pattern;
举个例子,假设我们想要以‘A’开头的顾客姓名列表。下面的查询将给出我们所需的结果集。
SELECT CustomerName FROM Customer WHERE CustomerName NOT LIKE 'A%';
输出:约翰.
SQL多个Like
我们可以在SQL查询中使用多个like语句。例如,如果我们想要一个以’Jo’和’Am’开头的顾客姓名列表,那么我们就需要像下面这样使用多个like语句。
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'Am%' OR CustomerName LIKE 'Jo%';
SQL类似操作符和SQL不类似操作符示例就这些了。