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

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

王林
Libérer: 2020-09-14 11:22:28
avant
1742 Les gens l'ont consulté

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) 教师表
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

104, vérifiez le nombre d'enseignants portant le nom de famille "Zhang"

selectcount(distinct(tname)) from teacher where tname like '张%‘
Copier après la connexion

ou :

select tname as "姓名", count(distinct(tname)) as "人数" 
from teacher 
where tname like'张%'
group by tname
Copier après la connexion

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='张三')
Copier après la connexion

(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)
Copier après la connexion

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
Copier après la connexion

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)
Copier après la connexion

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 = '李四')
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal