Unique é uma palavra-chave usada na diretiva Create Table () para indicar que um campo conterá dados exclusivos, geralmente usados para chaves naturais, chaves estrangeiras etc.
Por exemplo:
Create Table Employee(
Emp_PKey Int Identity(1, 1) Constraint PK_Employee_Emp_PKey Primary Key,
Emp_SSN Numeric Not Null Unique,
Emp_FName varchar(16),
Emp_LName varchar(16)
)
ou seja, o número de segurança social de alguém provavelmente seria um campo exclusivo na sua tabela, mas não necessariamente a chave primária.
Distinct é usado na instrução Select para notificar a consulta que você deseja que apenas os itens exclusivos sejam retornados quando um campo contém dados que podem não ser exclusivos.
Select Distinct Emp_LName
From Employee
Você pode ter muitos funcionários com o mesmo sobrenome, mas deseja apenas cada sobrenome diferente.
Obviamente, se o campo que você está consultando tiver dados exclusivos, a palavra-chave Distinct se tornará supérflua.