プロが教える店舗&オフィスのセキュリティ対策術

SQLについての質問です.

select a.name, b.id
from テーブルA a
テーブルB b
where...

というSQLのfromのあとはどういう意味なのでしょうか?
テーブルAと同じ型のaを作る
という意味なのでしょうか??

A 回答 (3件)

厳密に書くと



SELECT a.name, b.id
FROM テーブルA AS a ,
テーブルB AS b
WHERE...

となります。
FROM句で宣言している
テーブルA AS a
は、
「テーブルAをaという名前で扱いなさい」
という意味。

もちろん
SELECT テーブルA.name, テーブルB.id
FROM テーブルA ,
テーブルB
WHERE...
と書いても同意ですが、
SELECT句にいちいち
テーブルA.* , テーブルA.** , テーブルA.***
と書くのは面倒ですよね。

さらに、副問い合わせや、同一テーブルを別々に扱いたい場合などなどなど・・・・
様々な場面で AS を使うことで、すっきりと見やすいSQL文を作ることも可能です。
    • good
    • 0
この回答へのお礼

AS と同じなのですね.
というか,省略?が出来るのですね.
ありがとうございました^^

お礼日時:2009/09/03 20:25

「テーブルA」という名前のテーブルをこのSQL文の中では「a」という名前(別名)で使うという意味です。


「テーブルA a」とも「テーブルA as a」とも書けます。
個人的には、後者の表記の方が明確で好きですが。

なので、1行目ではselect句で「a.name」と指定することにより、
テーブルAのname列を表示させることができます。
別名を設定してなければselect句で「テーブルA.name」と指定する
必要があります。

テーブルBの部分も同様です。
    • good
    • 0

別名(エイリアス)といって、「テーブルAと何度も書くのは大変なので、テーブルAをaと書くことにします」という意味です。

    • good
    • 0

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