SQL ワイルドカード

SQL LIKE SQL IN

データベース内のデータを検索するときに SQL ワイルドカードを使用できます。

SQL ワイルドカード

SQL ワイルドカードは、データベース内のデータを検索するときに 1 つ以上の文字を置き換えることができます。

SQL ワイルドカードは LIKE 演算子とともに使用する必要があります。

SQL では、次のワイルドカードを使用できます。

ワイルドカード 説明
% 0 個以上の文字を表します
_ 1 文字だけを置換
[charlist] 文字列の任意の 1 文字

[^charlist]

または

[!charlist]

文字列にない任意の 1 文字

元のテーブル (例で使用):

Persons :

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

% ワイルドカードを使用する

例 1

次に、上の"Persons"テーブルから、 "Ne" で始まる都市に住んでいる人々を選択します。

次の SELECT ステートメントを使用できます。

SELECT * FROM Persons
WHERE City LIKE 'Ne%'

結果セット:

Id LastName FirstName Address City
2 Bush George Fifth Avenue New York

例 2

次に、"Persons" テーブルから、 "lond"を含む都市に住んでいる人々を選択します。

次の SELECT ステートメントを使用できます。

SELECT * FROM Persons
WHERE City LIKE '%lond%'

結果セット:

Id LastName FirstName Address City
1 Adams John Oxford Street London

ワイルドカード _ を使用します

例 1

次に、上の "Persons" テーブルから、名前の後に "eorge"が続く人物を選択します。

次の SELECT ステートメントを使用できます。

SELECT * FROM Persons
WHERE FirstName LIKE '_eorge'

結果セット:

Id LastName FirstName Address City
2 Bush George Fifth Avenue New York

例 2

次に、 "Persons" テーブルから選択したこのレコードの姓を "C"で始まり、次に任意の文字、"r"、次に任意の文字、"er"の順にします。 ;:

次の SELECT ステートメントを使用できます。

SELECT * FROM Persons
WHERE LastName LIKE 'C_r_er'

結果セット:

Id LastName FirstName Address City
3 Carter Thomas Changan Street Beijing

[charlist] ワイルドカードを使用する

例 1

次に、上の "Persons"テーブルから、都市が "A" 、"L"、または"N"で始まる人々を選択します。

次の SELECT ステートメントを使用できます。

SELECT * FROM Persons
WHERE City LIKE '[ALN]%'

結果セット:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York

例 2

次に、上の"Persons" テーブルから、都市が "A"、"L" 、または"N" で始まらない人々を選択します。

次の SELECT ステートメントを使用できます。

SELECT * FROM Persons
WHERE City LIKE '[!ALN]%'

結果セット:

Id LastName FirstName Address City
3 Carter Thomas Changan Street Beijing