SQLのフィールド名には別名をつけることができます。以下のSQL文を見てください。
select decode(torihiki_kbn,'1','日本','2','アメリカ')
from nonyu_tbl;
このSQL文のフィールド名は
decode(torihiki_kbn,'1','日本','2','アメリカ') となります。
これではこのフィールドが何を意味しているのかわかりにくいので、こういう場合、別名を使います。
別名の指定方法は下記SQLのように2通りあります。
select decode(torihiki_kbn,'1','日本','2','アメリカ') torihiki_kbn,
decode(torihiki_kbn,'1','日本','2','アメリカ') as torihiki_kbn
from nonyu_tbl;
まず1つ目は、フィールド名の後に半角スペースをいれて別名を指定するやり方です。
2つ目は、フィールド名の後に
as キーワードを指定して別名を指定するやり方です。
Oracleではどちらも同じ意味になります。
次に、Oracleではテーブル名にも別名を指定することが出来ます。表の名前が長い場合や一つのSQL文に表を2つ以上使用する場合などに別名をつけたりします。
表別名の指定は下記SQLのようにFROM句で指定します。
select *
from nonyu_tbl a,tanka_tbl b;
このSQL文で、もしnonyu_tblにもtanka_tblにもtankaというフィールドがあったら、select句でtankaと指定してもどちらのテーブルのtankaのことかわかりません。
このような時に
a.tanka とすればnonyu_tblのtankaだと区別することができます。
テーブルの別名は、列の別名の指定の方法と違い、半角スペースを入れるだけです。asキーワードは使用できません。
別名を使用しないでtankaを区別するには下のSQL文のようにテーブル名にドット(.)を付けてフィールド名を指定しなくてはいけません。
select nonyu_tbl.tanka,
tanka_tbl.tanka
from nonyu_tbl,tanka_tbl;