You could use COUNT(*) OVER (PARTITION BY …) to count the similar values in a column and then filter by that count, e.g.:
-- Set up the test data
CREATE TABLE [person] (
[personId] Integer
,[givenName] NVarChar(100)
,[familyName] NVarChar(100)
);
INSERT INTO [person] VALUES
(1, N'Steve', N'Rodgers')
,(2, N'Tony', N'Stark' )
,(3, N'Steve', N'Jobs')
;
-- /Set up the test data
-- Use a common table expression to derive our count
WITH tData AS (
SELECT
*
,COUNT(*) OVER (PARTITION BY [P].[givenName]) AS [givenNameInstances]
FROM [person] AS [P]
)
SELECT
[tD].[personId]
,[tD].[givenName]
,[tD].[familyName]
FROM tData AS [tD]
WHERE [tD].[givenNameInstances] = 1 -- Only return results where the count was 1
;
DROP TABLE [person];