H26年春期午後データベースについて

T.S.さん  
(No.1)
空欄c、dの公式解答では、
「ユーザID=:ユーザID」、「パスワードハッシュ値=HASH(':パスワード)」とありますが、
FROM部分が一つのみだと、先頭に「Webユーザ.~」をつける必要は無いのでしょうか?
2019.03.30 22:16
私もガンバルさん 
(No.2)
はい、つける必要はありません。
表を結合した時だけ、どの表のどの属性(列)なのかを指定するために付けます。
2019.03.31 11:41
T.S.さん  
(No.3)
ありがとうございます。
表が1つの場合は付けないように気を付けます。
2019.03.31 12:39
助け人さん 
AP ゴールドマイスター
(No.4)
横から失礼します。

ある表のある列を表すときは、「表名.列名」と書きますが、そのSQLにおいて、列名だけで表名が定まる場合は、「列名」と、表名を省略することができます。したがって、表名を付けてはいけないのではなく、付けてもいいし、付けなくてもいいです。

逆に、そのSQLにおいて、列Xが、表Aと表Bの両方にある場合、「A.X」あるいは「B.X」と、表名を必ず付けます。
2019.03.31 14:10
okomeさん 
(No.5)
表の結合で以下の二つの表を結合する場合
社員(社員番号、氏名、所属部コード)主キーは社員番号
部(部コード、部名)主キーは部コード
社員表の所属部コードは部表の部コードの外部キー

select * from 社員 inner join 部
on 所属部コード=部コード;

でも構いませんが、実務上では表名、列名に日本語を使うことはありません。
(文字コードや全角スペースによる問題を防ぐため)
実はこれ以外にも書き方があり
from 表名 inner join 表名2 using 列名
というものがあります。
この書き方は二つの表に同じ列名が使われていることが前提です。
この書き方は結構楽ですし、列名に意味不明な略語を使わないようにするためにも私であれば
division_CD
(divisionは部の英語、CDはコード(code)の略)
を両方のテーブルに設定します。
別々に指定すると列名は長くなりますが、
表名.列名のように表修飾する必要がなくなります。

この試験の勉強を実務でも役立てるようにと考えているのであれば、
試験のための無理やりな理解は避けるようにするべきだと思ったため、遅くなりましたが投稿させていただきました。
2019.04.17 12:10

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop