Short answer: Yes, it can be NULL or duplicate. I want to explain why a foreign key might need to be null or might need to be unique or not unique. First remember a Foreign key simply requires that the value in that field must exist first in a different table (the parent table).
Which key can accept null values?
Primary key will not accept NULL values whereas Unique key can accept NULL values. A table can have only primary key whereas there can be multiple unique key on a table.
How do I set foreign key to null?
The syntax for creating a foreign key with set null on delete using a CREATE TABLE statement in SQL Server (Transact-SQL) is: CREATE TABLE child_table ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], ...