LIKE

LIKE 是另一个在  WHERE  子句中会用到的指令。基本上,  LIKE 能让我们依据一个模式

(pattern)   来找出我们要的资料。相对来说,在运用  IN  的时候,我们完全地知道我们需要的

条件;在运用  BETWEEN的时候,我们则是列出一个范围。  LIKE的语法如下:


         SELECT "栏目名" FROM "表格名" WHERE "栏位名" LIKE {模式}

模式}   经常包括野卡  (wildcard).   以下是几个例子:


'A_Z': 所有以  'A'起头,另一个任何值的字原,且以  'Z'为结尾的字符串。  'ABZ'        'A2Z'

都符合这一个模式,而  'AKKZ'     并不符合  (因为在  A    Z  之间有两个字原,而不是一个

字原)

'ABC%': 所有以  'ABC'起头的字符串。举例来说,'ABCD'  'ABCABC'  都符合这个模式。

'%XYZ': 所有以  'XYZ'结尾的字符串。举例来说,'WXYZ'  'ZZXYZ'    都符合这个模式。


'%AN%': 有含  'AN' 模式串。举例  'LOS ANGELES'        'SAN

FRANCISCO' 都符合这个模式。

        我们将以上最后一个例子用在我们的  Store_Information  表格上:

Store_Information  表格

SQL语句学习之路8_SQL


            键入:SELECT * FROM Store_Infoemation WHERE store_name like '%AN'

       结果:SQL语句学习之路8_SQL_02

           

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SQL LIKE 操作符语法

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

原始的表 (用在例子中的):

Persons 表:

IdLastNameFirstNameAddressCity
1AdamsJohnOxford StreetLondon
2BushGeorgeFifth AvenueNew York
3CarterThomasChangan StreetBeijing

LIKE 操作符实例

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons  //SELECT * FROM Persons WHERE City LIKE 'N%'  城市中以N开头的。
WHERE City LIKE 'N%'

提示:"%" 可用于定义通配符(模式中缺少的字母)。

结果集:

IdLastNameFirstNameAddressCity
2BushGeorgeFifth AvenueNew York

例子 2

接下来,我们希望从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons   //SELECT FROM Persons WHERE City LIKE '%g'  城市中以g结尾的。
WHERE City LIKE '%g'

结果集:

IdLastNameFirstNameAddressCity
3CarterThomasChangan StreetBeijing

例子 3

接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons    //SELECT * FROM Persons WHERE City LIKE '%lon%'  居住在含lon城市的人
WHERE City LIKE '%lon%'

结果集:

IdLastNameFirstNameAddressCity
1AdamsJohnOxford StreetLondon

例子 4

通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons      //SELECT * FROM Persons WHERE City NOT LIKE '%lon%'
WHERE City NOT LIKE '%lon%'

结果集:

IdLastNameFirstNameAddressCity
2BushGeorgeFifth AvenueNew York
3CarterThomasChangan StreetBeijing