我在读'数据关系'(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