データベース初心者必見!入門編その4〜条件に一致するデータの検索方法〜
2015/07/13
はじめに
今回は、入門編その1、入門編その2、入門編その3の続きです。
今回は前回の続きで、条件に一致するデータの検索方法を紹介いたします。
条件に一致するデータを検索する
SELECT文ではこの他に、選択、結合という形式があります。
表「SELECT文の3つの形式」
名称 | 説明 | イメージ |
射影 |
特定の列を問い合せる SELECT文 (列を絞り込む) |
|
選択 |
特定の行を問い合せる SELECT文 (行を絞り込む) |
|
結合 |
表と表を連結させて問い合せる SELECT文 |
|
これら3つの形式を組み合わせることによって複雑な問い合せを行うことができます。
実務では何千件、何万件といったデータを持つテーブルに対して問い合せをおこなうことがあります。そのような場合には、すべての行を問い合わせた結果をから目的のデータを探すことは非常に困難です。
ここからは、ある条件に一致する行だけを絞り込んで選択する形式のSQL文をが紹介します。条件は、必要とする結果によって様々なものがあります。また、条件を組み合わせて複雑な問い合せを行うことができますが、まずは単純なものから紹介いたします。
条件を指定しないでデータを問い合せる場合には次にように行いました。
[shell]SELECT * FROM goods[/shell]
実行結果
今回は、上のSQL文に条件を加えて追加して検索されるデータを絞り込みましょう。
条件を絞り込むにはWHERE句を使用します。 ctg_id列の値が5であるデータのみを問い合せる場合には場合には、次のSQLを実行してします。
[shell]SELECT * FROM goods WHERE ctg_id =5[/shell]
実行結果
ctg_id列のフィールドに注目して下さい。値が5の行のみを取り出すことが出来ました。WHERE句の後に記述します。
[shell]SELECT 列名のリスト FROM テーブル名 WHERE 比較条件[/shell]
上条件を記述する際には、演算子を用います。以下には主な演算子をまとめます。
!=等しくない
演算子 | 意味 |
== | 等しい |
> | より大きい |
< | より小さい |
>= | 以上 |
<= | 以下 |
<>,!= | 等しくない |
BETWEEN a AND b | a以上b以下の範囲内 |
NOT BETWEEN a AND b | a以上b以下の範囲外 |
IN (list) | list内のいずれかと等しい |
NOT IN (list) | list内のいずれかとも等しくない |
IS NULL | NULL値である |
IN NOT NULL | NULL値である |
LIKE | 文字パターンと一致する |
NOT LIKE | 文字パターンと一致しない |
さいごに
今回は、一つの条件で指定した問い合せ方法を紹介しました。次回は、複数の条件を組み合わせて、さらに高度な問い合せを行う方法を紹介したいと思います。