SQL – 通配符

SQL 通配符

先决条件:SQL WHERE子句

在上面提到的文章中讨论了WHERE子句,其中还解释了LIKE操作符,在这里您一定遇到了单词通配符,现在让我们更深入地了解通配符。

通配符与LIKE操作符一起使用,有四种基本操作符:

Operator Description
% 它用于替换零个或多个字符。
_ 它用来代替一个字符。
_ 它用于替换一个字符范围。
(range_of_characters) 它用于获取括号内指定的匹配字符集或范围。
[^ range_of_characters]或[!range_of_characters) 它用于获取括号内指定的不匹配的字符集或范围。

基础语法:

SELECT column1,column2 FROM table_name WHERE column LIKE wildcard_operator;

column1 , column2: 表中的字段
table_name: 表的名称
column: 用于过滤数据的字段名

SQL 通配符

查询

  • 从Student表中获取NAME以字母“T”结尾的记录。
    SELECT * FROM Student WHERE NAME LIKE '%T';
    

输出:

ROLL_NO NAME ADDRESS PHONE Age
3 SUJIT ROHTAK XXXXXXXXXX 20
3 SUJIT ROHTAK XXXXXXXXXX 20
  • 从Student表中获取NAME以任何字母结尾但以’ RAMES ‘开头的记录。
    SELECT * FROM Student WHERE NAME LIKE 'RAMES_';
    

输出:

ROLL_NO NAME ADDRESS PHONE Age
2 RAMESH GURGAON XXXXXXXXXX 18
  • 从Student表中获取地址包含字母’ a ‘, ‘ b ‘或’ c ‘的记录。
    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
  • 从Student表中获取地址不包含字母’ a ‘, ‘ b ‘或’ c ‘的记录。
SELECT * FROM Student WHERE ADDRESS LIKE '%[^A-C]%';

输出:

ROLL_NO NAME ADDRESS PHONE Age
1 Ram Delhi XXXXXXXXXX 18
4 SURESH Delhi XXXXXXXXXX 18
  • 从Student表中获取记录,其中PHONE字段第一个位置为“9”,第四个位置为“5”。
SELECT * FROM Student WHERE PHONE LIKE '9__5%';

输出:

ROLL_NO | NAME | ADDRESS | PHONE | Age
—|—|—|—|—
1 | Ram | Delhi | XXXXXXXXXX | 18
* 从Student表中获取地址为6个字符的记录。

SELECT * FROM Student WHERE ADDRESS LIKE '______';

输出:

ROLL_NO NAME ADDRESS PHONE Age
3 SUJIT ROHTAK XXXXXXXXXX 20
3 SUJIT ROHTAK XXXXXXXXXX 20
  • 从Student表中获取任何位置的地址包含’ OH ‘的记录,结果集不应该包含重复的数据。
SELECT DISTINCT * FROM Student WHERE ADDRESS LIKE '%OH%';

输出:

ROLL_NO NAME ADDRESS PHONE Age
3 SUJIT ROHTAK XXXXXXXXXX 20

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程