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!