2017年11月26日 星期日

[SQL]Join的觀念

最近工作寫SQL時,突然發現一個有趣的觀念會讓人搞混與疑惑。
例如說JOIN的觀念。
畢竟JOIN可以說有幾類
inner join
left join
right join
full join

這四項。

其實一般最常被使用的就是INNER JOIN。
如:
select * from student a,course b where a.s_id=b.s_id
這樣的寫法其實就是
select * from student a inner join course b on a.s_id=b.s_id

至於結果呢!
就是所謂的有AB交集的才顯示

其二LEFT JOIN
就是以左邊為主,左邊資料表全數顯示,右邊資料表有對應到的話就是顯示資料,沒對應到的話就是顯示空白。
以數學就是A再加上AB交集的區域

其三RIGHT JOIN
使用方式與LEFT JOIN一樣,但方向剛好相反。
以數學說明就是B再加上BA交集區

其四FULL JOIN
顧名思義就是全部一起來。
就是所謂的聯集拉,有對道就顯示資料沒對道就給她空白值

一般大概就是這四種吧,別再搞混了喔。
懶得畫表個,因此今天只有簡單說明觀念。

沒有留言:

張貼留言

[資安]社交工程

 社交工程 在資訊安全領域中所提出的"社交工程"議題,其實也可以說"溝通"一詞的另一個說詞。 人在討論交換訊息時的行為,正是所謂的社交工程的過程一模一樣,主要差異在於行為與意圖。 有心人士預計要蒐集他人的各種資訊使用的對話溝通方式,其中我們...