データベース初心者必見!入門編その4〜条件に一致するデータの検索方法〜

2015/07/13

はじめに

今回は、入門編その1入門編その2入門編その3の続きです。

今回は前回の続きで、条件に一致するデータの検索方法を紹介いたします。

条件に一致するデータを検索する

SELECT文ではこの他に、選択、結合という形式があります。

表「SELECT文の3つの形式」

名称 説明 イメージ
射影

 特定の列を問い合せる

SELECT文

(列を絞り込む)

 

syaei

選択

 特定の行を問い合せる

SELECT文

(行を絞り込む)

 

sentaku

結合

 表と表を連結させて問い合せる

SELECT文

 

ketsugou

これら3つの形式を組み合わせることによって複雑な問い合せを行うことができます。

実務では何千件、何万件といったデータを持つテーブルに対して問い合せをおこなうことがあります。そのような場合には、すべての行を問い合わせた結果をから目的のデータを探すことは非常に困難です。

ここからは、ある条件に一致する行だけを絞り込んで選択する形式のSQL文をが紹介します。条件は、必要とする結果によって様々なものがあります。また、条件を組み合わせて複雑な問い合せを行うことができますが、まずは単純なものから紹介いたします。

条件を指定しないでデータを問い合せる場合には次にように行いました。

[shell]SELECT * FROM goods[/shell]

実行結果

hyou

今回は、上のSQL文に条件を加えて追加して検索されるデータを絞り込みましょう。

条件を絞り込むにはWHERE句を使用します。 ctg_id列の値が5であるデータのみを問い合せる場合には場合には、次のSQLを実行してします。

[shell]SELECT * FROM goods WHERE ctg_id =5[/shell]

実行結果

5

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  文字パターンと一致しない

さいごに

今回は、一つの条件で指定した問い合せ方法を紹介しました。次回は、複数の条件を組み合わせて、さらに高度な問い合せを行う方法を紹介したいと思います。

法人向け人気レンタルサーバー
法人向け人気専用サーバー
個人向け人気レンタルサーバー