SQL.3 select文でのデータ選択方法

データベースのテーブルから必要とするデータのみを抽出するSQL分の記述方法を紹介します。

検索式の記述方法

検索式の記述方法を説明します。まずは、テーブルよりデータを読み込むselect文の書式は以下に示す通りでした。

select フィールドの選択 from テーブルの連結 where 検索式

上記に示したSQL文の検索式の場所へ入力する対象となる条件を記述していくことになります。 その記述は一般的な算術式の、=、>、<、<>(否定)、と論理式の、And、Or、Not、を組み合わせて条件指定することになります。

では、検索する条件ごとに指定する方法を一覧で見てみましょう。 この表は売上データのように売上金額とその売上データの処理区分でデータ検索のケースとしています。

検索内容検索式
処理区分が未完了のもの処理区分 = "未完了"
処理区分が入力されていないもの処理区分 Is Null
売上金額が1000円以上のもの売上金額 >= 1000
売上金額が1000円を超えるもの売上金額 > 1000
売上金額が1000円以下のもの売上金額 <= 1000
売上金額が1000円を超えないもの売上金額 < 1000
売上金額が1000〜2000円のもの売上金額 Between 1000 And 2000
売上金額が1000円、2000円、3000円のもの売上金額 In (1000,2000,3000)
条件を否定するもの処理区分 <> "未完了"
また、論理式を使用して(Not (処理区分 = "未完了")) と指定することもできる
条件Aもしくは条件Bのもの(処理区分 = "未完了") Or (処理区分 = "実行中")
条件フィールドが同じ場合は、処理区分 In ("未完了","実行中")、で良い
条件Aかつ条件Bのもの(処理区分 = "完了") And (売上金額 >= 10000)

文字列検索

データベースでは上記で説明した検索する方法が一般的です。 しかし、あるフィールドの中に指定した文字列が含まれているデータを抽出したい場合があります。 判りやすく言えば、YahooだとかGoogleなどの文字列検索だと思ってもらえば良いでしょう。 ただし、文字列のチェックを全てのデータに対して行われるために、それだけ時間がかかってしまうということです。 しかし、Accessデータベースではそこまでデータ容量が多くなるとは思えませんので気になるほどかからないと思います。

検索内容検索式
備考欄フィールドで文字列の先頭が"あいうえお"のもの備考欄 Like "あいうえお*"
備考欄フィールドに"あいうえお"が含まれるもの備考欄 Like "*あいうえお*"
備考欄フィールドで文字列の末尾が"あいうえお"のもの備考欄 Like "*あいうえお"
部品コードで3文字目が"A"のもの備考欄 Like "??A*"

この例では"*"がワイルドカードを意味しています。 また、"?"は一文字分に対応するワイルドカードを意味しています。 よく使用されるパターンを紹介しましたが他にも色々な指定方法がありますので、複雑な検索をしたい場合は、ヘルプ(H)-MicrosoftAccessヘルプ(H)でヘルプ画面を開いて、キーワードにLIKE演算子を入力して該当のトピックを参照してください。

注意事項

抽出条件が対象とするレコードは、そのフィールドにデータが入力されているものが対象となります。 よって、条件の作成の仕方しだいでは検索対象のフィールドに未入力のものがあるレコードは抽出されないことがあります。

作成日:2003/07/11

| HOME | INDEX | | |