- ベストアンサー
FROM テーブル 名前 ?
SQLについての質問です. select a.name, b.id from テーブルA a テーブルB b where... というSQLのfromのあとはどういう意味なのでしょうか? テーブル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文を作ることも可能です。
その他の回答 (2)
- seiiiichi
- ベストアンサー率41% (79/190)
「テーブルA」という名前のテーブルをこのSQL文の中では「a」という名前(別名)で使うという意味です。 「テーブルA a」とも「テーブルA as a」とも書けます。 個人的には、後者の表記の方が明確で好きですが。 なので、1行目ではselect句で「a.name」と指定することにより、 テーブルAのname列を表示させることができます。 別名を設定してなければselect句で「テーブルA.name」と指定する 必要があります。 テーブルBの部分も同様です。
- jamshid6
- ベストアンサー率88% (591/669)
別名(エイリアス)といって、「テーブルAと何度も書くのは大変なので、テーブルAをaと書くことにします」という意味です。
お礼
AS と同じなのですね. というか,省略?が出来るのですね. ありがとうございました^^