sql多表關聯查詢

收藏待读

sql多表關聯查詢

有時候,我們查詢數據時,會採用多數據庫關聯查詢的方式。數據庫通過連接兩張表或多張表查詢時,會生成一張臨時的中間表,然後返回給用戶的就是這張臨時表的數據。那麼具體怎麼操作呢?我們可以採用left join,搭配on、where來實現。

具體

備註:

1.on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。

2.where條件是在臨時表生成好後,再對臨時表進行過濾的條件。這時已經沒有left join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。

SELECT * FROM table1 a LEFT JOIN table2 b ON a.Sid = b.Sid WHERE a.Sname="小明"
Select * from aaa a left join bbb b on a.id = b.id and b.name = '111111111';

個人案例:選用兩表中部分字段

SELECT a.project_id AS 項目id,
       b.before_time AS 統計的結束時間,
       b.valid_row_count AS 行數,
       b.add_row_count AS 增加行數,
       b.delete_row_count AS 刪除行數
 FROM 
 gitlog_project_app a
 LEFT JOIN
 gitlog_detail b
 ON a.id = b.project_app_id
 order by project_id desc

原文 : Hans’ Blog

相關閱讀

免责声明:本文内容来源于Hans' Blog,已注明原文出处和链接,文章观点不代表立场,如若侵犯到您的权益,或涉不实谣言,敬请向我们提出检举。