0
假設有2個或更多的表格。從2個或更多表中獲取數據:選擇還是加入?
表A:援助,姓名,生日
表B:出價,petType,petName
表C:CID,stackOverFlowUsername
我想要得到的東西像援助,姓名,生日,貓一個人的數量,堆棧溢出的用戶名
我們可以
- 使用連接來連接所有3個表
select * from tableA... tableB... tableC...
- 使用多個SELECT語句,
select a.*, (select count(*) from tableB where petType = 'cat') as numberOfCats, (select...) as stackUsername from tableA a
- 或其他方式,我不知道
我的問題是當使用選擇正確的情況下,連接或有更好的方法嗎?
更新:
這是另一個問題。如果我有3個計算器賬戶,湯姆有1和Peter有2個, 使用
A left join B left join C
將返回一共有6排
select a.*, select count(*) from tableB where..., select top 1 stackOverFlowUsername from tableC
返回3行,因爲有3人
如果我只希望tableA中的每個人都有一行數據,而不管他/她有多少個計算器賬戶,我可以使用連接來實現類似的事情嗎?
由於
嗨,我有權說如果我做這樣的事情比加入浪費更多的內存? 選擇a。*,從tableC中選擇col1,其中...,從tableC中選擇col2,其中...,從tableC中選擇col3,其中... – BurningJade