2016-07-30 9 views
1

左テーブルには膨大なデータ(数百万のレコード)があり、 。私は何を好むべきですか(左または右外部結合)とその理由。1つのテーブルに大量のデータがあり、他のテーブルに大量のデータがある場合にSQL Serverで2つのテーブルに結合する

+0

SQLでテーブルを結合する一般的な方法は、 'JOIN'キーワードを使用することです。その事実はテーブルのサイズに依存しません。 –

+0

ゴードンありがとう、これは2つのテーブルを結合している間にサイズが問題ではないことを意味します...私は外か右の外側を残すかどうか。パフォーマンスへの影響はありません。 –

+0

Aのすべての行とBのすべての行を比較しなければならない限り、いずれの方向の外部結合も行われません – MageeWorld

答えて

2

参加しているすべてのまあ最初はテーブル

のサイズとは無関係である

さて私は、これはあなたが私たちはあなたが何百万を持っている二つのテーブルの従業員を持っていると仮定しましょう左の表から、あるいは右の表のいずれかから何をしたいデータ依存だと思います私たちはこれを右に入れましょう。そして、10のレコードを残している部署は、左に置いてください。今、各従業員は1つの部署を持っています。

従業員

  • のEmpID
  • DepartmentIdの

    部門

  • DepartmentIdの

  • 発芸術の名前

あなたがどの部門に属しているのか知りたいと思うと思います。

Select e.empId,d.DepartmentName 
from employee e 
join department d 
on e.departmentid=d.departmentid 

今すぐあなたは以下のクエリ

を使用depratmentたどのように多くの従業員を知りたいと仮定あなたは

Select e.empId,d.DepartmentName 
from employee e 
left join department d 
on e.departmentid=d.departmentid 
where d.departmentid is null 

以下のクエリを使用して、今どの部門 が割り当てられている従業員を知りたいと仮定

Select d.[Department Name],COUNT(e.empID) from Employee e 
left join Department d 
on e.DepartmentId=d.DepartmentId 
group by d.[Department Name] 

結合の詳細については、下の図を参照してください。 Sql Joins

関連する問題