資料庫多個left join如何執行

2021-07-16 08:54:58 字數 545 閱讀 3155

select * from a left join b on a.abid = b.baid left join  c  on c.cbid = b.bcid 

順序是先a,b組合成乙個虛擬表,然後虛擬表再和c表關聯

a表先和b表left join 生成虛擬表(假設為t1),是t1直接和c left join

測試資料:

select * from student;

select * from score;

左聯接:

select t1.* ,t2.* from student t1 left join score t2 on t1.id = t2.student_id;

右連線:

select t1.* ,t2.* from student t1 right join score t2 on t1.id = t2.student_id;

內連線:

select t1.* ,t2.* from student t1 inner join score t2 on t1.id = t2.student_id;

SQL SERVER資料庫Left Join用法

left join基本語法 left join 關鍵字會從左表 table name1 那裡返回所有的行,即使在右表 table name2 中沒有匹配的行。select column name s from table name1 left join table name2 on table na...

Oracle資料庫 Left Join 使用之我見

在oracle 9i資料庫中使用left join這種連表查詢方式的效率是極為低下的。在專案中使用了這麼一條語句 select tmp2.company name,sum tmp2.radio send bytes tmp2.radio recv bytes 1024 1024 1024 as fl...

資料庫left join中on和where條件區別

oracle的left join中on和where的區別 1,說明 oracle資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。在使用leftjion時,on和where條件的區別如下 1 on條件是在生成臨時表時使用的條件,它不管on中的條件是否...