>  기사  >  Java  >  자바 고주파 기본 면접 질문——(9)

자바 고주파 기본 면접 질문——(9)

王林
王林앞으로
2020-09-14 11:21:361675검색

자바 고주파 기본 면접 질문——(9)

자격을 갖춘 Java 백엔드 개발자가 되려면 데이터베이스 지식이 필수적입니다. 데이터베이스에 대한 친숙도 검사는 기본 능력이 탄탄한지 여부에 대한 검사이기도 합니다.

(더 많은 관련 면접 질문 추천: java 면접 질문 및 답변)

특히 주니어 개발자의 경우 면접에서 프레임워크 관련 지식은 묻지 않을 수 있지만, 데이터베이스 지식을 조사하는 데는 절대 실패하지 않을 것입니다. SQL 문의 유형은 일상적인 개발이나 인터뷰 준비에 도움이 될 것입니다.

기본 테이블 구조:

 student(sno,sname,sage,ssex)学生表        
 course(cno,cname,tno) 课程表        
 sc(sno,cno,score) 成绩表
 teacher(tno,tname) 教师表

101, 1코스 성적이 2코스 성적보다 높은 모든 학생의 학생 ID를 쿼리합니다

select a.sno from
(select sno,score from sc where cno=1) a,
(select sno,score from sc where cno=2) b
where a.score>b.score and a.sno=b.sno

102, 평균 성적이 2코스보다 높은 학생의 학생 ID와 평균 성적을 쿼리합니다. 60점

select a.sno as "学号", avg(a.score) as "平均成绩" 
from
(select sno,score from sc) a 
group by sno having avg(a.score)>60

103, 학생 번호, 이름, 수강한 과목 수 및 모든 학생의 총점을 확인하세요

select a.sno as 学号, b.sname as 姓名,
count(a.cno) as 选课数, sum(a.score) as 总成绩
from sc a, student b
where a.sno = b.sno
group by a.sno, b.sname

또는:

selectstudent.sno as 学号, student.sname as 姓名,
 count(sc.cno) as 选课数, sum(score) as 总成绩
from student left Outer join sc on student.sno = sc.sno
group by student.sno, sname

104, "Zhang"이라는 교사의 수를 확인하세요

selectcount(distinct(tname)) from teacher where tname like '张%‘

또는:

select tname as "姓名", count(distinct(tname)) as "人数" 
from teacher 
where tname like'张%'
group by tname

105, "Zhang San" 수업을 수강하지 않은 학생의 학번과 이름을 쿼리하세요.

select student.sno,student.sname from student
where sno not in (select distinct(sc.sno) from sc,course,teacher
where sc.cno=course.cno and teacher.tno=course.tno and teacher.tname='张三')

(추천 학습: java 강좌)

106, 학생 번호와 이름을 쿼리하세요. 코스 1과 코스 2를 모두 공부한 학생 수

select sno, sname from student
where sno in (select sno from sc where sc.cno = 1)
and sno in (select sno from sc where sc.cno = 2)

또는

selectc.sno, c.sname from
(select sno from sc where sc.cno = 1) a,
(select sno from sc where sc.cno = 2) b,
student c
where a.sno = b.sno and a.sno = c.sno

또는

select student.sno,student.sname from student,sc where student.sno=sc.sno and sc.cno=1
and exists( select * from sc as sc_2 where sc_2.sno=sc.sno and sc_2.cno=2)

107, "Li Si"가 가르치는 모든 코스를 공부한 모든 학생의 학생 ID와 이름을 쿼리합니다.

select a.sno, a.sname from student a, sc b
where a.sno = b.sno and b.cno in
(select c.cno from course c, teacher d where c.tno = d.tno and d.tname = '李四')

또는:

select a.sno, a.sname from student a, sc b,
(select c.cno from course c, teacher d where c.tno = d.tno and d.tname = '李四') e
where a.sno = b.sno and b.cno = e.cno

108, 코스 번호 1의 점수가 코스 번호 2의 점수보다 높은 모든 학생의 학생 번호와 이름을 쿼리합니다.

select a.sno, a.sname from student a,
(select sno, score from sc where cno = 1) b,
(select sno, score from sc where cno = 2) c
where b.score > c.score and b.sno = c.sno and a.sno = b.sno

109, 모든 학생의 학생 번호와 이름을 쿼리합니다.

select sno,sname from student
where sno not in (select distinct sno from sc where score > 60)

110 과목에서 점수가 60점 미만이고 하나 이상의 과목을 쿼리합니다. 1번 학생과 동일한 과목을 수강하는 학생의 학번 및 이름

select distinct a.sno, a.sname
from student a, sc b
where a.sno <> 1 and a.sno=b.sno and
b.cno in (select cno from sc where sno = 1)

또는:

select s.sno,s.sname 
from student s,
(select sc.sno 
from sc
where sc.cno in (select sc1.cno from sc sc1 where sc1.sno=1)and sc.sno<>1
group by sc.sno)r1
where r1.sno=s.sno

관련 권장 사항: Java 입문 튜토리얼

위 내용은 자바 고주파 기본 면접 질문——(9)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제