Well, this is not the kind of question we like here. You have to use what you have learned, or learn what you have to.
What you described here needs at least tree tables, thus can not be performed in one insert statement (not query!), but you can combine them. The minimalist design could be this one:
Students
table:
CREATE TABLE [dbo].[students](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) NOT NULL,
CONSTRAINT [PK_students] PRIMARY KEY ([id] ASC)
)
Subjects
table:
CREATE TABLE [dbo].[subjects](
[id] [int] IDENTITY(1,1) NOT NULL,
[title] [varchar](50) NOT NULL,
CONSTRAINT [PK_subjects] PRIMARY KEY ( [id] ASC )
)
Application
table:
CREATE TABLE [dbo].[application](
[id] [int] IDENTITY(1,1) NOT NULL,
[student_id] [int] NOT NULL,
[subject_id] [int] NOT NULL,
CONSTRAINT [PK_application] PRIMARY KEY ( [id] ASC ),
CONSTRAINT [FK_application_students] FOREIGN KEY([student_id]) REFERENCES [dbo].[students] ([id]),
CONSTRAINT [FK_application_subjects] FOREIGN KEY([subject_id]) REFERENCES [dbo].[subjects] ([id])
)
And now, let's add some subjects first:
insert into subjects(title) values('Math');
insert into subjects(title) values('Chimie');
insert into subjects(title) values('English');
And finally, let's add a student with it's applications in a single query:
insert into students(name) values('John');
DECLARE @newid int;
SET @newid = (SELECT IDENT_CURRENT('students'));
insert into application(student_id,subject_id) values(@newid, 1);//Math
insert into application(student_id,subject_id) values(@newid, 3);//English