こういうことです
SQL
1create table student (student_no varchar(20) primary key,student_name varchar(20));
2insert into student values('18JN0201','電波太郎'),('18JN0202','電波次郎'),('18JY0101','電波三郎');
3
4create table grade(student_no varchar(20),item_no varchar(10),item_grade varchar(10));
5insert into grade values('18JN0201','0001','A'),('18JN0201','0002','B'),('18JY0101','0001','A'),('99XX9999','0001','A');
(3)
SQL
1select s.student_no,item_no,item_grade
2from student as s
3left join grade as g on s.student_no=g.student_no
4order by student_no,item_no
5
※order by 句を指示しないと正しい順番にはならないのでこの問題はおかしいです
(4)
SQL
1select g.student_no,item_no,item_grade
2from grade as g
3left join student as s on s.student_no=g.student_no
4where s.student_no is null
(5)
普通にやればこうですが
SQL
1select student_name from student where student_no in
2(select student_no from grade where item_grade='A')
同様にこうも書けます
SQL
1select student_name from student where exists
2(select student_no from grade where student.student_no=student_no and item_grade='A')
3
なので、この問題は不親切です