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

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



●2_04_06-検索処理(as句、distinct句)(select)


 普通に検索するとカラム名は半角英数字で表示されます、as句はそのカラム名を一般名称(全角文字)表示することができます。
 構文は以下になります。

SELECT

  カラム名(1) as 別名(1),

  カラム名(2) as 別名(2),

  カラム名(3) as 別名(3),

  カラム名(4) as 別名(4),

  ・・・・・・

FROM

  テーブル名

 下記のSQLを実行して下さい。
 インデントに全角を使用しています、削除して使用して下さい。
SELECT
  shouhin_coad as 商品コード,
  name as 商品名,
  kakaku as 商品価格,
  printer_name as 適応商品名
FROM
  shouhin_t

以下のように設定した名称に置き換えられて出力されます。


データベースの仕様を把握していれば別に名称を置き換える必要はありません。

ただし仕様を把握していない社員の人に資料などで出す場合は一般名称が必要になります。

この出力されている表はエクセルと互換性があります。
全てを下記のようにコピーします。そしてエクセルを立ち上げます。


エクセルにペーストすれば列名も入りますのでデータベースの仕様を把握していない社員の方も内容を把握しやすくなります。


as句の別名は検索時点で変更できますから臨機応変に対応できます。


distinct句は重複したデータを排除することができます。
例題に使っているデータは重複した価格を持っていますのでdistinct句を使えば価格のみの種類を調べる事ができます。

構文は以下になります。
SELECT

  DISTINCT カラム名

FROM

  テーブル名

以下のSQLを実行して下さい。
SELECT DISTINCT
  kakaku
FROM
  shouhin_t

以下のように価格の種類が検索されます。


distinct句に関係した構文に以下のものもあります。
SELECT

  DISTINCT on (カラム名(1)) カラム名(1),

  カラム名(2),

  カラム名(3),

  ・・・・

FROM

  テーブル名

通常は一つのカラムでデータの種類を調べる事が多いと思いますが上の構文を使うと対応したカラムのデータも検索できます。

以下のSQLを実行して下さい。「kakaku」カラムを2つ使っている事に気を付けて下さい。
SELECT DISTINCT
  on (kakaku) kakaku,
  name
FROM
  shouhin_t

下記が実行結果です。

「kakaku」カラムでデータの重複を排除していますので「name」カラムは対応している一部のデータだけしか検索されません。
私自身もうSQLを打って5年以上経ちますがこれは使った事ないですね。こういう時は以下のSQLを使ったほうがいいかと思います。
SELECT
  kakaku,
  name
FROM
  shouhin_t
ORDER BY
  kakaku

下記のほうが「name」カラムが役に立ちそうな気がしますが・・・。


ケース・バイ・ケースで゛とちらか利用して下さい。


戻る

Copyright (c) 2007 MSweb All Rights Reserved

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

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