我在讀'數據關係'(https://msdn.microsoft.com/en-us/library/ms810294.aspx),我對它是如何工作感到困惑。例如,sql server在返回上面的結果時是否複製了數據,還是以任何智能的方式返回以避免冗餘?對網絡流量的擔憂
create table #category(Id int, Name varchar(100))
create table #product(Id int, Name varchar(100), CategoryId int)
insert into #category values (1, 'category 1')
insert into #product values (1, 'Product 1', 1)
insert into #product values (2, 'Product 2', 1)
insert into #product values (3, 'Product 3', 1)
insert into #product values (4, 'Product 4', 1)
insert into #product values (5, 'Product 5', 1)
select * from #product left join #category on #product.categoryid = #category.id
這是數據庫101.您正將'category'表加入到您的'product'表中。你對每個產品都有相同的'categoryid',所以你的'category.name'對於每個產品都是一樣的。你還會期待它呢?這不是「重複數據」。這是該唱片產品的類別名稱。 – JNevill
@JNevill我在理解OP的問題時更加關注SQL在返回重複數據時的效率,僅僅作爲一個例子。儘管個人而言,我對任何一個方向都不太自信 - 這個問題當然可以從一些澄清中受益。 – Santi
@Santi請編輯它。我的英語不是很好,更準確。 – MuriloKunze