DISTINCTROW 关键字和DISTINCT关键字类似,但前者是基于整行而非个别的域的。他只有在处理多个表时,并且只有在用户从某几个但非全部的表中选择数据域时才是有用的。如果用户的查询是基于一个表的,或者要从所有的表中选择数据域,则DISTINCTROW 关键字本质上和ALL关键字相同。
例如,在我们的发票数据库中,每个
顾客
都可能没有、有一个或多个发票记录。假设我们希望找出有多少拥有多于一张发票的顾客,这时可以使用DISTINCTROW关键字来进行选择。
SELECT DISTINCTROW [Last Name], [First Name]
FROM tblCustomers INNER JOIN tblInvoices
ON tblCustomers.CustomerID = tblInvoices.CustomerID
如果我们不使用DISTINCTROW 关键字,得到的将是每个顾客的所有发票记录的行。
DISTINCTROW 只能用在Access中,SqlServer中不可用。