【Access】likeとワイルドカードを使ってデータの抽出

アクセス担当のまみです。

データの検索する時に、なんだったっけ?ってキーワードの一部しか覚えていないことがあったりします。

そんな時に、覚えている部分だけで検索ができたらとってもありがたいですね!

 

Likeとワイルドカードを使えば、あいまい検索が可能になります。

今回は、Likeとワイルドカードを使ってデータを抽出する方法をお伝えしますね。

 

Likeとワイルドカード

 

(はてな君)
Like?ワイルドカード?
(あいちゃん)
そう!「Like”東*”」だと、東から始まるものを抽出してくれる。この時の「*」がワイルドカードだよ。

 

(はてな君)
あっあいまい検索ってやつだ!

 

ワイルドカードにはいくつか種類があります。

ワイルドカード 説明
* 0以上の文字との一致
1つの文字との一致
[] カッコ内の1つの文字との一致
カッコ内の文字以外と一致
範囲指定した中での1つの文字との一致
1つの数字との一致

 

(はてな君)
こんなに色々種類があるんだぁ。覚えられないよ~。
(あいちゃん)
よく使うのは「*」かな。使い方だけ覚えていたらあとは使いたい時に調べたらいいよ。

 

前方一致

 

(はてな君)
前方一致って「Like “みかん”」ってやつでしょ!
(あいちゃん)
はてな君。それは完全一致だね。前方一致は「Like “み*”」かな。これだと「み」から始まるものを抽出してくれるね。

 

使用例 説明 抽出例
Like “み*”

「み」で始まる文字を抽出

みかん
みず
Like “み?” 「み」で始まる2文字を抽出 みず
みに
Like “み?*” 「み」で始まる2文字以上を抽出

みず
みずうみ

Like “み#”

「み」で始まり1つの数字で終わる2文字を抽出

み1
み9

 

では実際にクエリを使って抽出してみましょう。

使用するテーブル

(はてな君)
み1ってな~に?りすって動物だし~。
(あいちゃん)
はてな君。そこはつっこまないで、ただの例だから・・・

 

クエリを使用して抽出

(はてな君)
「Like “み*”」は上手くいったから次やろうと思ったら検索結果に何も表示されなくて?データはあるのになんで?
(あいちゃん)
はてな君。?が全角になってない?

 

(はてな君)
あっ半角にしたらちゃんと表示された!

 

 クエリやコードで式を入力する時は半角と全角は区別されます。半角で入力しましょう。

 

Access クエリを作成してテーブルのデータを抽出しよう

2018年9月13日

 

後方一致

 

(あいちゃん)
前方一致がわかったら、後方一致は大丈夫かな?
(はてな君)
えっとね~。「Like “*す”」みたいなの~。
(あいちゃん)
ピンポ~ン!

 

使用例 説明 抽出例
Like “*す” 「す」で終わる文字を抽出 いす
いぎりす
Like “?す” 「す」で終わる2文字を抽出 いす
りす
Like “?す*” 「す」で終わる2文字以上を抽出

いぎりす
ありす

Like “#す”

1つの数字で始まり「す」で終わる2文字を抽出

1す
9す

 

クエリを使用して抽出

 

(はてな君)
ちゃんと半角にしたから今度は上手く抽出できたよ!

 

 

部分一致

 

(あいちゃん)
じゃあ部分一致はどう?
(はてな君)
抽出する文字や数字がどこにあってもいいってやつだ!
(あいちゃん)
そうそう。「Like “*りす*”」みたいなのね!

 

使用例 説明 抽出例
Like “*りす*” 「りす」が含まれる文字を抽出 くりすます
いぎりす
りす

 

クエリを使用して抽出

 

(はてな君)
なんか書き方わかってきたよ!

 

指定した文字を含まない

 

今までの条件は指定した文字を含む場合でしたが、指定した文字を含まないデータの抽出もできます。

 

(はてな君)
指定した文字を含まない?
(あいちゃん)
そう、「Like」の前に「Not」をつけるとできるんだよ!
(はてな君)
ふ~ん「Not」だから含まないになるんだ~。
(あいちゃん)
それから一部に含まれないようにっても指定できるんだよ!

 

使用例 説明 抽出例
Not Like “み*” 「み」で始まらない文字を抽出 いす
いぎりす
Not Like “*す” 「す」で終わらない文字を抽出 みかん
みず
Not Like “*す*” 「す」が含まれない文字を抽出

いくら
うに

Like “[!か-け]*” 「か」から「け」で始まらない文字を抽出

みかん
りす
みかさ

 

(はてな君)
あっクエリは大丈夫だよ!
(あいちゃん)
そう?じゃあちゃんとやっておいてね!次いこう!

応用編

 

今までの条件を「And」や「Or」を使って複数組み合わせることができます。

 

Andを使用する

 

(はてな君)
えっと~。「And」だから~。「A And B」だったらAとBのどっちかにあてはまるものを抽出してくれるんだね!

 

(あいちゃん)
ざ~んねん。それは「Or」の方だね。「And」は両方に当てはまるものだよ。

 

(はてな君)
そっか。

 

使用例 説明 抽出例
Like “み*” And Like “*み” 「み」で始まる文字とを抽出 みずうみ

 

Orを使用する

 

さっきはてな君が説明してくれました。はてな君はAndとOrを間違って覚えていたようですが・・・

「A Or B」だとAかBどちらかにあてはまるものを抽出してくれます。

使用例 説明 抽出例
Like “み*” Or Like “*す” 「み」で始まる文字とを抽出 みずうみ
りす

 

(あいちゃん)
クエリの入力方法は2種類あるので下の図で確認しておいてね!

 

クエリで抽出

 

方法① 「抽出条件」に「Like “み*” 」を入力し、「または」に「Like “*す”」をそれぞれ別に入力する。

方法② 「抽出条件」に「Like “み*” Or Like “*す”」を入力する。

 

(あいちゃん)
どちらも結果は同じです!

 

まとめ

 

Likeとワイルドカードを上手に使いこなせたら、とっても簡単にデータ検索ができるようになります。

ぜひぜひ活用してくださいね!