有如下四张表:学生表Student(stuId,stuName,stuAge,stuSex);课程表Course(courseId,courseName,teacherId);成绩表Scores(stuId,courseId,score);教师表Teacher(teacherId,teacherName);有...
有如下四张表:
学生表Student(stuId,stuName,stuAge,stuSex);
课程表Course(courseId,courseName,teacherId);
成绩表Scores(stuId,courseId,score);
教师表Teacher(teacherId,teacherName);
有如下10个问题:
查询“001”课程比“002”课程成绩高的所有学生的学号
select stuId
from Scores s1,Scores s2
where
s1.stuId=s2.stuId and s1.courseId="001" and s2.courseId="002" and s1.score>s2.score;
此题是一个自连接查询,也就是两个表都是同一张表。查询平均成绩大于60分的同学的学号和平均成绩
select Student.stuId,avg(Scores.score)
from Student,Scroes
where Studen.stuId=Scores.stuId
Group by Student.stuId
having avg(Scores.score)>60;
聚合函数是不能连接在where子句后面的。- 查询所有同学的学号,姓名,选课数,总成绩
select Student.stuId,Student.stuName,count(Course.courseId),sum(Scores.score)
from Student,Course,Scores
where Studend.stuId=Scores.stuId and Scores.courseId=Course.courseId - 查询姓李的老师的个数
select count(Teacher.TeacherId)
from Teacher
where Teacher.TeacherName like "李%";
本文标题为:javaSql面试题(10题)
- 工具类之关于RestTemplateUtil工具类的使用 2023-06-30
- MyBatis中的ResultMap的association和collection标签详解 2023-06-10
- Java实现截取字符串的操作详解 2023-03-07
- Hibernate使用中防止SQL注入的几种方案 2023-08-01
- Java发送form-data请求实现文件上传 2023-01-29
- Mybatis实现动态排序方式 2023-06-23
- IDEA+Maven打JAR包的两种方法步骤详解 2023-05-08
- Java幂等性解决方案用法介绍 2023-10-08
- Java简单使用EasyExcel操作读写excel的步骤与要点 2023-05-14
- SpringBoot实现扫码登录的项目实践 2023-03-11