Maison  >  Article  >  Java  >  Questions d'entretien de base Java haute fréquence——(9)

Questions d'entretien de base Java haute fréquence——(9)

王林
王林avant
2020-09-14 11:21:361692parcourir

Questions d'entretien de base Java haute fréquence——(9)

Si vous souhaitez devenir un développeur back-end Java qualifié, la connaissance des bases de données est essentielle. L'examen de la familiarité avec la base de données est également un examen pour savoir si la personne possède de solides compétences de base. .

(Recommandations pour des questions d'entretien plus connexes : questions et réponses d'entretien Java)

En particulier pour les développeurs juniors, l'entretien ne peut pas poser de questions sur les connaissances liées au framework, mais absolument là Il n'y a aucun moyen de manquer d'examiner les connaissances sur les bases de données. Nous rassemblons ici certains types courants d'instructions SQL, qui seront utiles que ce soit pour le développement quotidien ou pour la préparation des entretiens.

Structure de base du tableau :

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

101, interrogez le nombre d'élèves de tous les étudiants dont les notes du cours 1 sont supérieures à celles du cours 2

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, interrogez la moyenne note supérieure à 60 Le nombre d'étudiants et la note moyenne des étudiants qui ont obtenu

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

103, interrogez le numéro d'étudiant, le nom, le nombre de cours suivis et la note totale de tous les étudiants

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

ou :

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, vérifiez le nombre d'enseignants portant le nom de famille "Zhang"

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

ou :

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

105 , vérifiez le nombre d'enseignants qui n'ont pas étudié avec "Zhang San" Le numéro d'élève et le nom des élèves

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='张三')

(apprentissage recommandé : cours java)

106, interrogez les étudiants qui ont étudié à la fois le cours 1 et le cours 2 Numéro d'étudiant, nom

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)

ou :

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

ou :

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, vérifiez l'enseignant qui a étudié "Li Si" Les numéros d'étudiant et les noms de tous les étudiants de tous les cours

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 = '李四')

ou :

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, interrogez le les numéros d'étudiant de tous les étudiants dont les notes du cours numéro 1 sont supérieures à celles du cours numéro 2, Nom

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, interrogez le numéro d'étudiant de tous les étudiants dont les scores sont inférieurs à 60 points, nom

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

110, interrogez au moins un cours avec un identifiant d'étudiant de 1 Le numéro d'étudiant et le nom des camarades de classe qui étudient le même cours

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)

ou :

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

Recommandations associées : Tutoriel d'introduction à Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer