0

私は2つのテーブルを持っています。従業員とマネージャー。従業員テーブルには、会社のすべての従業員の情報が格納されます。マネージャ テーブルには、どの従業員がどのマネージャの下で働いているかが表示されます。店長も会社員です。以下に表を示します。

従業員(名前、都市、番地)

manager( name , employee_name)

太字は、それらが主キーであることを意味します。ここで重要なことは、manager テーブルでは、名前と従業員名の両方が従業員を参照する外部キーであるということです。では、自然に参加したらどうなるでしょうか。問題ないでしょう?それらに自然に参加した後、ファイナルテーブルでどの都市と通りを見ることができますか? マネージャーか従業員か?

4

3 に答える 3

1

運が良ければ何も買わず、運が悪ければがらくたになる可能性が高いでしょう。Natural join次のようなことをします:

SELECT * FROM managers LEFT JOIN employees
         WHERE managers.name = employees.name

Natural joinCOMMONLY NAMED COLUMNSの使用を試みます。

私があなたがこのようなものがもっと欲しいと思うとき:

SELECT * FROM managers LEFT JOIN employees
         WHERE managers.employee_name = employees.name
于 2012-12-15T19:56:41.380 に答える
0

それ以外の場合は、DB のアーキテクチャを確認することをお勧めします。マネージャー テーブルの名前が PK の場合、同じマネージャーを持つ複数の従業員を持つことはできません。

于 2012-12-15T20:29:48.150 に答える
0

すべてのマネージャーの都市、通り、および従業員名のリストを取得します

名前、市、番地、Employee_Name

于 2012-12-15T19:48:37.200 に答える