请求大神写一句在C#内实现的SQL代码,很急

我SQL几乎完全不懂,求大神帮忙写一句SQL
MAJOR表字段
MajorID //记录专业方向标号
MajorName //记录专业方向名称

SUBJECT表字段
MajorID //记录对应考试科目所对应专业方向
SubjectName //记录考试科目名称

GRADE表字段
StudentName //记录考生名字
SubjectName //记录考生所需考试科目

一个MajorID对应多个SubjectName

现在我需要的是 已经知道了MajorName 和 StudentName 放进一个 Grade表里面 让SubjectName和StudentName能够对应合成一条记录
逻辑上应该是先通过MajorName找到MajorID 然后通过MajorID找到所有的SubjectName并且和StudentName组合一个一个放入新表 但是我不知道这条SQL语句该如何去写 在C#里面该如何避免重复在GRADE表内添加内容相同的记录

真的很急 希望各路大神指点

我对嵌套查询也不熟悉,不过下面的代码是测试通过的:

insert into GRADE 
select 'st' as StudentName,
SubjectName  from SUBJECT where MajorID =
(select top 1 MajorID  from MAJOR where MajorName ='m2')

温馨提示:答案为网友推荐,仅供参考