4 分鐘閱讀

SQL-內部連結

交叉連結(cross join),準備來聯誼了

兩個資料表,boys、girls

boy_id name
1 Adam
2 Alexander
3 Mike
girl_id name
1 Sharon
2 Rebecca
3 Nina

111

  • *號會搜尋兩張表格所有的欄位
  • select boys.name, girls.name from boys cross join girls; 可以使用 資料表名.欄位名 去搜尋想要的欄位
  • 可以使用as 幫欄位或資料表別名
  • 省略不寫cross join的語法 select * from boys, girls

交叉連結可以列出所有的可能性,可以幫助我們除錯
也可測試軟體的執行速度

Inner join

內部連結又是透過特定的條件,移除交叉連結的某些結果

select * from boys inner join girls on boys.boy_id = girls.girl_id;

inner join

  • 使用inner join on(where也可以) 條件式運算子

自然連結(NATURAL JOIN)

當兩個資料表的欄位名稱一樣時,並且值是一樣的時候

要注意一個點
自然連結不是透過ON、WHERE這些關鍵字去結合條件子句
會自動解析兩表內一樣的欄位名稱,自動的來解析連結
所以要多多留意全部的欄位名稱再使用

下列為兩張表boy_friends與girls

select * from boy_friends natural join girls;

自然連結

標籤:

更新時間: