実行前のテーブルの「tb」と「tb1」は
https://oshiete.goo.ne.jp/qa/12498872.html
から確認ができます。
さて!
テーブルの「tb」と「tb1」の内部結合で「カラムを選んで表示」しました。
①の実行結果
mysql> SELECT tb.bang,tb1.nama,tb.uria FROM tb JOIN tb1 ON tb.bang=tb1.bang;
+------+------+------+
| bang | nama | uria |
+------+------+------+
| A103 | 中川 | 101 |
| A102 | 高橋 | 54 |
| A104 | 渡辺 | 181 |
| A101 | 佐藤 | 184 |
| A103 | 中川 | 17 |
| A101 | 佐藤 | 300 |
| A102 | 高橋 | 205 |
| A104 | 渡辺 | 93 |
| A103 | 中川 | 12 |
+------+------+------+
次にエイリアス(偽名)でnamaをxとして、namaをyとして表示します。
②の実行結果
mysql> select x.bang,y.nama,x.uria from tb as x join tb1 as y on x.bang=y.bang;
+------+------+------+
| bang | nama | uria |
+------+------+------+
| A103 | 中川 | 101 |
| A102 | 高橋 | 54 |
| A104 | 渡辺 | 181 |
| A101 | 佐藤 | 184 |
| A103 | 中川 | 17 |
| A101 | 佐藤 | 300 |
| A102 | 高橋 | 205 |
| A104 | 渡辺 | 93 |
| A103 | 中川 | 12 |
+------+------+------+
以上ですが
①の実行結果と②の実行結果ですが何も変化なしです。
「参考書の実行結果」と「実際の実行結果」は普通の「内供結合」と同
結果なました。エイリアス後も何も変化がないので、エイリアスの意図が
見えてきません、何が変わったのでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
別名の主な効能は「結果を変えず」に SQL を簡潔に書けることです。
使っても簡潔にならないと感じるならば、使う必要はないでしょう。
大規模で複雑な条件の SQL を
意味を変えずに短く読みやすくしたい状況で活用してください。
というより、別名がなければ複雑な条件なぞ記述不可能です。
ご回答くださいまして、ありがとうございました。
方法論じゃなくて えーと
もしこんなデータベースに出くわした場合このやり方を使うんだよ!
みたいですかね!?
まだ知識不足なので、教科書を進めていくことで、理解を深
めたいと思います。
まだまだ未熟ものなので今後ともよろしくお願いいたします。
No.1
- 回答日時:
テーブルの名前が長いとき
例)
select ものすごく大事な情報.管理番号, むちゃんこ重要な情報.金額
from ものすごく大事な情報
left join むちゃんこ重要な情報
on ものすごく大事な情報.管理番号 = むちゃんこ重要な情報.管理番号
別名(alias) を利用することで SQL を短く書けます
名前が変わっただけなので、実行結果は変わりません
例)
select A.管理番号, B.金額
from ものすごく大事な情報 as A
left join むちゃんこ重要な情報 as B
on A.管理番号 = B.管理番号
ご提示の場合ですとあまり意味はなさそうですが、
実務ではテーブル名はどうしても長くなる傾向にあるので、
別名を使えば SQL の短縮化と可読性向上を図れます
ご回答くださいまして、ありがとうございました。
エイリアスは長くなる名前の変更ができることは
わかります。
正直なところを話します。
①
mysql> SELECT tb.bang,tb1.nama,tb.uria FROM tb JOIN tb1 ON tb.bang=tb1.bang;
②
mysql> select x.bang,y.nama,x.uria from tb as x join tb1 as y on x.bang=y.bang;
ですが、結局同じで表示されるのはなぜなのか?
表示されるのが同じだったら、その作業する意味はなんですか?
薬であれば、効能がなければ、服用する意味がなく 逆に
毒効果がある服用しないほうがいいと思います。
しかし、例えば名前が長い人ギネスでは57文字
Rhoshandiatellyneshiaunneveshenk Koyaanisquatsiuth Williams
さんだそうでが、仮に これが カラム名だっとしますと
②のエイリアスを使っても
CREATE TABLE tb1(bang VARCHAR(100),nama VARCHAR(100),tosi INT);
とした場合、57文字出てて来てしまいますよね、何も意味がない
と私的には思います。
そこのところはどうなんでしょうかね?
疲れると思いますが、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) エクセル関数教えてください 3 2022/06/21 10:22
- その他(Microsoft Office) IF関数について教えてください 2 2022/05/10 13:31
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) EXCEL 計算結果の桁数をそろえたい。 5 2022/12/25 18:33
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- Excel(エクセル) 計算結果を1の位で四捨五入 1 2022/11/12 17:33
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) マクロでコピーすると数式が表示される 1 2022/09/09 20:21
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel テーブル内の空白行の削除
-
L2SWはARPテーブルを持っている?
-
男性と2人で飲食店に行きテーブ...
-
お金持ちのテーブル
-
「テーブルに座って……」という...
-
ACCESS での LEFT JOIN 時の WH...
-
オープンオフィスでのテーブル...
-
一つ前に戻るには…
-
会社の飲み会の幹事になり、座...
-
テーブル名をカラムとして取得...
-
EXCELデータからACCESSデータの...
-
AccessのSQL 部分一致したデー...
-
テーブルで一番古いレコードだ...
-
DBFluteについて質問です。 環...
-
EXCEL マクロで行を挿入して貼...
-
オーダーの覚え方について
-
Visuaal Studio Community 2022...
-
中華料理屋なんかに行って 中央...
-
お世話になってます。
-
ROWNUMでUPDATEをしたいのです...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel テーブル内の空白行の削除
-
アクセスのクエリでレコード削...
-
トリガって、自分自身のテーブ...
-
HiRDBのPURGEとDROPの違い
-
アクセス2010について
-
ACCESSのマクロでテーブルのデ...
-
CSVファイルから一括して削除す...
-
Access2000の削除クエリで消し...
-
テーブルデータの削除による対応策
-
mysqlで間接クエリー実行させた...
-
Accessのテーブルをすべて削除
-
アクセス通貨型or数値型について
-
削除フラグってどうなんでしょう?
-
リレーションについて
-
ワークテーブルなのに自動で削...
-
列のDEFAULT設定を削除するコマ...
-
MySQLのストアドでファイルを削除
-
MySQLを勉強中ですが、作業の内...
-
レコードの削除で delete from ...
-
物理削除と論理削除、どっちが...
おすすめ情報
皆様ご回答くださいまして、ありがとうございます。
さて
カラム名をエイリアスにする
書式 : SELECT カラム名 AS エイリアス FROM テーブル名;
mysql> select bang as 社員番号,uria as 売上 from tb;
+----------+------+
| 社員番号 | 売上 |
+----------+------+
| a101 | 101 |
| a102 | 54 |
| a104 | 181 |
| a101 | 184 |
| a103 | 17 |
| a101 | 300 |
| a102 | 205 |
| a104 | 93 |
| a103 | 12 |
| a107 | 87 |
+---------+------+
以上ですが、エイリアスした甲斐はありますね!
ここでは、「bangoが社員番号」と「uriaが売上」
に変化していて、わかりやすくなっています。
エイリアスの目的はカラム名の変更ができ表示する
ことがが可能の意味がありますね 他に何か役割
がありましたら教えていただけないでしょうか?
よろしくお願いいたします。
スマホからです。
再度ご解答くださいましてありがとうございます。手が空き次第お返事いたします。
しばらくおまちください。。