MSDE FunClub
Microsoft Data Engine FunClub
MSDE初心者向けメーリングリスト過去ログ[1289]番
 
[TOP]>[MSDE初心者向けメーリングリスト過去ログ(1289番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
RE:   ビューのリレーションについて

Date: Mon, 26 Jul 2004 15:22:12 +0900
From: who@sub.example.jp


--0__=C6BBE44EDF8C4F0E8f9e8a93df938690918cC6BBE44EDF8C4F0E
Content-type: text/plain; charset=ISO-2022-JP

> CREATE TABLE文やCREATE VIEW文などを使って、説明して下さい。

次の VIEW1と VIEW2を作ってみました。実行した場合、処理スピードは全く同じで
しょうか。

VIEW1ではname1とname2の 2つのテーブルを使っています。
VIEW2ではname1のテーブルのみ使っています。

あらためて2つのSQL文を比較してみるとVIEW2 で使用する name11というテーブルの
意味が自分ではよく分からなくなっています。
ただ、view1ではname1、name2別テーブルですので、紹介者番号1と紹介者番号2の
テーブル検索が同時にでき、
view2では 紹介者番号1と紹介者番号2の検索処理が2つとも同じテーブルを使ってい
るので、同時にできないと思います。
また、データベースダイアグラムではVIEW2の構成は作れないと思っています。


CREATE VIEW VIEW1
AS
SELECT H35PC001.個人番号, H35PC001.CD, H35PC001.紹介者番号1, name1.cd1,
       name1.カナ氏名1, name1.漢字氏名1, H35PC001.紹介者番号2, name2.cd2,
       name2.カナ氏名2, name2.漢字氏名2
FROM  H35PC001 LEFT OUTER JOIN
       name2 ON H35PC001.紹介者番号2 = name2.個人番号2 LEFT OUTER JOIN
       name1 ON H35PC001.紹介者番号1 = name1.個人番号1

CREATE VIEW VIEW2
AS
SELECT H35PC001.個人番号, H35PC001.CD, H35PC001.紹介者番号1, name1.cd1,
       name1.カナ氏名1, name1.漢字氏名1, H35PC001.紹介者番号2, name11.cd1
AS cd2,
       name11.カナ氏名1 AS カナ氏名2, name11.漢字氏名1 AS 漢字氏名2
FROM  H35PC001 LEFT OUTER JOIN
       name1 name11 ON H35PC001.紹介者番号2 = name11.個人番号1 LEFT OUTER
JOIN
       name1 ON H35PC001.紹介者番号1 = name1.個人番号1
--0__=C6BBE44EDF8C4F0E8f9e8a93df938690918cC6BBE44EDF8C4F0E
Content-type: text/html; charset=ISO-2022-JP
Content-Disposition: inline

<html><body><tt>&gt; CREATE TABLE文やCREATE VIEW文などを使って、説明して下さい。</tt><br>
<br>
<tt>次の VIEW1と VIEW2を作ってみました。実行した場合、処理スピードは全く同じでしょうか。</tt><br>
<br>
<tt>VIEW1ではname1とname2の 2つのテーブルを使っています。</tt><br>
<tt>VIEW2ではname1のテーブルのみ使っています。</tt><br>
<br>
<tt>あらためて2つのSQL文を比較してみるとVIEW2 で使用する name11というテーブルの意味が自分ではよく分からなくなっています。</tt><br>
<tt>ただ、view1ではname1、name2別テーブルですので、紹介者番号1と紹介者番号2のテーブル検索が同時にでき、</tt><br>
<tt>view2では 紹介者番号1と紹介者番号2の検索処理が2つとも同じテーブルを使っているので、同時にできないと思います。</tt><br>
<tt>また、データベースダイアグラムではVIEW2の構成は作れないと思っています。</tt><br>
<br>
<br>
<tt>CREATE VIEW VIEW1</tt><br>
<tt>AS</tt><br>
<tt>SELECT H35PC001.個人番号, H35PC001.CD, H35PC001.紹介者番号1, name1.cd1, </tt><br>
<tt> &nbsp; &nbsp; &nbsp; name1.カナ氏名1, name1.漢字氏名1, H35PC001.紹介者番号2, name2.cd2, </tt><br>
<tt> &nbsp; &nbsp; &nbsp; name2.カナ氏名2, name2.漢字氏名2</tt><br>
<tt>FROM &nbsp;H35PC001 LEFT OUTER JOIN</tt><br>
<tt> &nbsp; &nbsp; &nbsp; name2 ON H35PC001.紹介者番号2 = name2.個人番号2 LEFT OUTER JOIN</tt><br>
<tt> &nbsp; &nbsp; &nbsp; name1 ON H35PC001.紹介者番号1 = name1.個人番号1</tt><br>
<br>
<tt>CREATE VIEW VIEW2</tt><br>
<tt>AS</tt><br>
<tt>SELECT H35PC001.個人番号, H35PC001.CD, H35PC001.紹介者番号1, name1.cd1, </tt><br>
<tt> &nbsp; &nbsp; &nbsp; name1.カナ氏名1, name1.漢字氏名1, H35PC001.紹介者番号2, name11.cd1 AS cd2, </tt><br>
<tt> &nbsp; &nbsp; &nbsp; name11.カナ氏名1 AS カナ氏名2, name11.漢字氏名1 AS 漢字氏名2</tt><br>
<tt>FROM &nbsp;H35PC001 LEFT OUTER JOIN</tt><br>
<tt> &nbsp; &nbsp; &nbsp; name1 name11 ON H35PC001.紹介者番号2 = name11.個人番号1 LEFT OUTER JOIN</tt><br>
<tt> &nbsp; &nbsp; &nbsp; name1 ON H35PC001.紹介者番号1 = name1.個人番号1</tt></body></html>
--0__=C6BBE44EDF8C4F0E8f9e8a93df938690918cC6BBE44EDF8C4F0E--



[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。