Seleccionar filas que no estén en otra tabla, consulta SQL Server

Tabla de temas

CREATE TABLE [dbo].[BS_Subject]( [SubjectID] [bigint] IDENTITY(1,1) NOT NULL, [DepartmentID] [bigint] NOT NULL, [SubjectName] [varchar](50) NOT NULL, [SubjectDescription] [varchar](100) NULL, [SubjectShortCode] [varchar](10) NOT NULL, CONSTRAINT [PK_Subject] PRIMARY KEY CLUSTERED ( [SubjectID] ASC ) 

Tabla SubjectToClass

 CREATE TABLE [dbo].[BS_SubjectToClass]( [SubjectToClassID] [bigint] IDENTITY(1,1) NOT NULL, [SubjectID] [bigint] NOT NULL, [ClassID] [bigint] NOT NULL, CONSTRAINT [PK_BS_SubjectToClass] PRIMARY KEY CLUSTERED ( [SubjectToClassID] ASC ) 

Necesito enumerar todas las filas en la tabla Subject donde subjectid no está en la tabla SubjectToClass de una class especificada.

Tengo esto pero no puedo ir más allá

 select Distinct(BS_Subject.SubjectID) DepartmentID, SubjectName, SubjectDescription, SubjectShortCode from dbo.BS_Subject where BS_Subject.SubjectID <> ( SELECT Distinct(BS_Subject.SubjectID) FROM dbo.BS_Subject, dbo.BS_SubjectToClass Where BS_Subject.SubjectID = BS_SubjectToClass.SubjectID And BS_SubjectToClass.ClassID = 2) 

 SELECT SubjectID, DepartmentID, SubjectName, SubjectDescription, SubjectShortCode FROM BS_Subject WHERE NOT EXISTS (SELECT SubjectToClassID FROM BS_SubjectToClass WHERE BS_Subject.SubjectID = BS_SubjectToClass.SubjectID AND BS_SubjectToClass.ClassID =2) 

Necesita usar el operador NOT IN – no el <> (eso es VB o algo así …)

 SELECT DISTINCT(BS_Subject.SubjectID) DepartmentID, SubjectName, SubjectDescription, SubjectShortCode FROM dbo.BS_Subject WHERE BS_Subject.SubjectID NOT IN (SELECT DISTINCT(BS_Subject.SubjectID) FROM dbo.BS_Subject, dbo.BS_SubjectToClass WHERE BS_Subject.SubjectID = BS_SubjectToClass.SubjectID AND BS_SubjectToClass.ClassID = 2)