WEBシステム開発|PHPとPostgreSQLの開発例|●2_04_01-検索処理(where句)(select)

PHPとPostgreSQLを利用したWEBシステムの開発例を掲載していきます。腕時計 販売サイト my-watch.biz




2_04_02-検索処理(where句)(select)

where句を使った検索処理です。

あるカラムから、ある値に一致したデータを検索せよ


SQLの構文は以下になります。
SELECT カラム名(1) , カラム名(2), ・・・・ FROM テーブル名 WHERE カラム名 = '値'

「date_id_c」で「2007-01-01 00:00:01」に一致するデータを検索します。
SELECT
  date_id_c,
  title
FROM
  new_jouhou_t
WHERE
  date_id_c = '2007-01-01 00:00:01'

下記のように検索されます。

複数のカラムにおいて検索する場合は下記の構文になります。and検索とか言われているものですね。
SELECT カラム名(1) , カラム名(2), ・・・・ FROM テーブル名 WHERE カラム名(1) = '値' and カラム名カラム名(2) = '値'

2つのカラムから値を指定するのは現実的にあまり意味が無いですが、「date_id_c」が「2007-01-01 00:00:01」、「title」が「洗濯機Aが入荷しました」に一致するデータを検索します。

SELECT
  date_id_c,
  title
FROM
  new_jouhou_t
WHERE
  date_id_c = '2007-01-01 00:00:01' AND
  title = '洗濯機Aが入荷しました'

先ほどと同様な結果が検索されます。

あるカラムから、ある値を含んだデータを検索せよ

今度は曖昧検索です。

SQLの構文は以下になります。
SELECT カラム名(1) , カラム名(2), ・・・・ FROM テーブル名 WHERE カラム名 like '%値%'

「title」カラムで「洗濯機」の文字列を含んでいるデータを検索します。
SELECT
  date_id_c,
  title
FROM
  new_jouhou_t
WHERE
  title like '%洗濯機%'

下記の結果が検索されます。



今度はor検索をしてみます。
「title」カラムに「洗濯機」か「テレビ」の文字列を含んだデータを検索します。「and」ではなく「or」になります。
SELECT
  date_id_c,
  title
FROM
  new_jouhou_t
WHERE
  title like '%洗濯機%' OR
  title like '%テレビ%'

下記が検索されます。



「%文字列%」 では 文字列の左側、右側にどんな文字が来ても、あるいは何も無くても曖昧検索ができます。
もし文字数を指定する場合は「_」 アンダーバーを使用します。
下記の検索では「洗濯機」と「が入荷しました」の間にどんな1文字が来ても検索するという意味になります。

SELECT
  date_id_c,
  title
FROM
  new_jouhou_t
WHERE
  title like '洗濯機_が入荷しました'

検索結果は以下になります。

あるカラムから、ある値を含んでいないデータを検索せよ

「title」カラムで「洗濯機」の文字列を含んでいないデータを検索します。「like」の前に「not」が来ます。
SELECT
  date_id_c,
  title
FROM
  new_jouhou_t
WHERE
  title not like '%洗濯機%'

以下が検索されます。

あるカラムから、ある値よりも大きいデータを検索せよ

「date_id_c」で「2007-04-01 00:00:13」よりも大きなデータを検索します。
つまり「2007-04-01 00:00:13」よりも新しいデータですね。
SELECT
  date_id_c,
  title
FROM
  new_jouhou_t
WHERE
  date_id_c > '2007-04-01 00:00:13'

以下が検索されます。

演算子は下記のものが利用できます。

< 小なり
> 大なり
<= 等しいかそれ以下
>= 等しいかそれ以上
= 等しい
<> or != 等しくない

+ 和
- 差
* 積
/ 商

演算子に関しての詳細な説明は以下の正規マニュアルを参照して下さい。

PostgreSQL 8.2.0マニュアル
http://websys-memo.biz/postgres8.2.0/functions-comparison.html
http://websys-memo.biz/postgres8.2.0/functions-math.html

※ 現時点で理解できるところだけを読んで下さい。分からない言葉があっても気にする必要はありません。




戻る

Copyright (c) 2007 MSweb All Rights Reserved

腕時計 クロノグラフ(時計)のメンズ専門販売サイトカシオ G-SHOCK、Baby-G(腕時計)専門の通信販売サイトG-SHOCK、Baby-G専門通販サイト 運営ブログ

腕時計 女性専用 販売のladies-watch.biz腕時計 メンズ(男性)専門販売のmens-watch.biz