2016-10-03 9 views
0

表1関係代数:ナチュラルNULL値と結合

Customer id city 
John  1 LA 
Nancy  2 NULL 

表2

Customer $ in the pocket 
John  20 
Nancy  30 

私は、リレーショナル代数を学んでいます。

私は自然Table 1Table 2に参加したらどうかと思っていますか?私の推測では、結果は4つの属性になり、JohnとNancyの両方が表示されます。

しかし、私の友人は、nullという値があるので、ジョンだけが現れ、ナンシーは出てこないと教えてくれました。

私はあなたの友人が間違っている、上記のケースで

+1

だけNATURAL JOINを同じルールを使用して、NATURALは通常のINNER等価結合として参加書き換え、それを把握するために、2つの属性に起こる、あなたは(デフォルトになります)お客様を使用して参加する場合は、あなたの友人が間違っている:) – bugwheels94

+0

合流使用する。あなたの例における関係が与えられれば、それは 'Customer'属性の等価者になります。 (city属性のNULL値は、他の関係には 'city'という名前の属性がないので問題はありません。)NATURAL JOINは、同じ名前を持つすべての属性を使用します。 2番目の関係にも 'city'という名前の属性があった場合、' Customer'属性と 'city'属性のINNER EQUIJOINと同じになります。 – spencer7593

+0

自然結合の場合、共通属性(この場合はCustomerフィールド)と一致する場合にのみ参加しますか? – randy

答えて

1

を混同しています、あなたは正しいです!

のは、それはそうだろうケースを見てみましょう:

テーブル '顧客

Id Name AccNo 
1 John 44 
2 Nancy NULL 

テーブル 'アカウント' ここ

AccNo $_in_Pocket 
44  20 
45  30 

、自然な結合では、Johnのすべての属性を取得しますが、ナンシーは結果から失われます。

+0

HTMLタグとエンティティを使用して回答を書式設定する必要はなく、代わりに適切なStackoverflow回答書式を使用してください – bugwheels94