访问量: 9 次浏览
此前我们学习了 WHERE 子句,并了解了 LIKE 查询运算符,过程中接触到通配符相关概念。
本篇将深入讲解 SQL 通配符的语法规则与实际使用方法。
通配符与LIKE操作符一起使用,有四种基本操作符:
| 运算符 | 描述 |
|---|---|
% | 匹配零个或多个字符。 |
_ | 匹配单个字符。 |
[字符范围] | 匹配指定范围内的单个字符。 |
[^字符范围] 或 [!字符范围] | 匹配不在指定范围内的单个字符。 |
基础语法:
SELECT column1,column2 FROM table_name WHERE column LIKE wildcard_operator;
column1, column2:表中的字段
table_name:表的名称
column:用于过滤数据的字段名

查询
SELECT * FROM Student WHERE NAME LIKE '%T';
输出:
| ROLL_NO | NAME | ADDRESS | PHONE | Age |
|---|---|---|---|---|
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
SELECT * FROM Student WHERE NAME LIKE 'RAMES_';
输出:
| ROLL_NO | NAME | ADDRESS | PHONE | Age |
|---|---|---|---|---|
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
SELECT * FROM Student WHERE ADDRESS LIKE '%[A-C]%';
输出:
| ROLL_NO | NAME | ADDRESS | PHONE | Age |
|---|---|---|---|---|
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
SELECT * FROM Student WHERE ADDRESS LIKE '%[^A-C]%';
输出:
| ROLL_NO | NAME | ADDRESS | PHONE | Age |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXXX | 18 |
| 4 | SURESH | Delhi | XXXXXXXXXX | 18 |
SELECT * FROM Student WHERE PHONE LIKE '9__5%';
输出:
| ROLL_NO | NAME | ADDRESS | PHONE | Age |
|---|---|---|---|---|
| 1 | Ram | Delhi | XXXXXXXXXX | 18 |
SELECT * FROM Student WHERE ADDRESS LIKE '______';
输出:
| ROLL_NO | NAME | ADDRESS | PHONE | Age |
|---|---|---|---|---|
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
SELECT DISTINCT * FROM Student WHERE ADDRESS LIKE '%OH%';
输出:
| ROLL_NO | NAME | ADDRESS | PHONE | Age |
|---|---|---|---|---|
| 3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |