չէ նույնը չի,
left outer join-ի դեպքում ձախից միացնում ա, բոլոր տողերը, անկախ նրանից, կան թե չկան:
Օրինակ
T1.ID T1.TEXT T2.ID T2.T1ID T2.TEXT
1 a 1 1 aa
1 a 2 1 ab
2 b
3 c 3 3 ca
3 c 4 3 cb
4 d
սովորական Join-ի (INNER JOIN) ստացվում է հետևյալը`
T1.ID T1.TEXT T2.ID T2.T1ID T2.TEXT
1 a 1 1 aa
1 a 2 1 ab
3 c 3 3 ca
3 c 4 3 cb
Ինդեքսները դրված են բոլոր բանալի հանդիսացող սյուների, ինչպես նաև "ծնող" բանալի սյուների վրա
Oracl-ում կա սենց տարբերակ`
Select * From Table1
Left Join Table2 on (Table1.ID EXPECT Table2.TABLE1ID)
Եթե չեմ սխալվում (սինտաքսիսը չեմ վերանայել, արագ գրեցի, վաղուց Oracl-ով չեմ զբաղվում),
նույնը արդեն կա նաև SQL Server 2008-ում,
Բայց Firebird/Interbase-ում չկա
Կարելի է գրել նաև այսպես`
Select * From Table1
Where Table1.ID NOT IN (SELECT Table2TABLE1ID From Table2)
Սակայն հարցման կատարման պլանի կառուցման և հարցման կատարման մաթեմատիկական և պրոցեսորային հաշվարկների տեսանկյունից նույնն է տալիս
հարցը այն է, որ վերադարձվեն այն տողերը, որոնք 2-ՐԴ ԱՂՅՈՒՍԱԿՈՒՄ ՉԿԱՆ` ենթատող չունեն:
T1.ID T1.TEXT T2.ID T2.T1ID T2.TEXT
2 b
4 d
Էջանիշներ