アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

A 回答 (3件)

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

とかするとわかりやすいですよ。
別名がちゃんと指定されていればビューで使用している列が変更されても問題が発生しない場合もあります。
    • good
    • 0

補足に対する回答です。



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

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

参考になれば。
でわ
    • good
    • 0

こんにちは。



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

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

自信はありませんが、参考になれば。
でわ

この回答への補足

ありがとうございます。
もうひとつ質問なのですが、
MAX()とは関数でしょうか?
すいませんお願い致します。

補足日時:2001/11/09 14:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!