解決済み

PL/SQLのコード

  • 困ってます
  • 質問No.165731
  • 閲覧数55
  • ありがとう数0
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 27% (43/159)

DBの中のVIEWにこのようなコードがありました。

SELECT
AAA,
BBB,
MAX(CCC) AS CCC
FROM
TABLE

SELECTのなかにある’MAX(CCC) AS CCC’という部分が
分りません。関数なのでしょうか、本で調べてみたのですが
のっていませんでした。
どなたか分る方はいませんでしょうか。
宜しくお願い致します.

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 42% (30/71)

Haizyさんのおっしゃる通り、MAX(CCC)をCCCという列名とする指定です。
値を集計したものや、今回のように最大値を関数を使用して取得した場合にテーブルやビューを検索するときに使用します。
また、テーブルを複数組み合わせて使用する場合にも便利です。
たとえば、、
テーブル Table_A
列aaa
bbb
ccc

テーブル Table_B
列aaa
bbb
ccc
dddd

Table_AとTable_Bを結合して検索したい場合、
select A.aaaas aaa,
A.bbbas bbb,
A.cccas ccc,
B.dddas ddd
fromTable_A A,/* Table_A をAという別名にする */
Table_B B,/* Table_B をBという別名にする */
whereA.aaa = B.aaa
andA.bbb = B.bbb
andA.ccc = B.ccc;

aaa, bbb, cccはどちらのテーブルの列を使用するか明示しないとエラーになります。
でも、これがビューで作成されていてA.aaaなんて指定をして検索するのはイヤですよね。
また、よく英字で短縮した名称を使用している場合もありますが。

selectaaaas 伝票番号,
bbbas 明細番号
formTable_C

とかするとわかりやすいですよ。
別名がちゃんと指定されていればビューで使用している列が変更されても問題が発生しない場合もあります。
4つの行動でOK-チップをためよう

その他の回答 (全2件)

  • 回答No.3

ベストアンサー率 40% (404/988)

補足に対する回答です。

>MAX()とは関数でしょうか?
はい、関数です。
select条件にかかったものの最大値を返します。
この場合CCC列の最大値ですね。

※逆に、min()関数というのもあります。

参考になれば。
でわ
  • 回答No.1

ベストアンサー率 40% (404/988)

こんにちは。

MAX(CCC) を CCC という列名前にする。 でしょう。

MAX(CCC)
のままだと、その他のSQL文から、そのVIEWの値を呼び出したい時に「列名指定」が困るからです。

自信はありませんが、参考になれば。
でわ
補足コメント
saruno

お礼率 27% (43/159)

ありがとうございます。
もうひとつ質問なのですが、
MAX()とは関数でしょうか?
すいませんお願い致します。
投稿日時 - 2001-11-09 14:36:35
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ