> Java > Java인터뷰 질문들 > 자바 고주파 기본 면접 질문——(9)

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

王林
풀어 주다: 2020-09-14 11:22:28
앞으로
1710명이 탐색했습니다.

자바 고주파 기본 면접 질문——(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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿