Auto commit
This commit is contained in:
		
							parent
							
								
									cbfc0a1669
								
							
						
					
					
						commit
						a98fd5bb17
					
				| @ -495,25 +495,93 @@ LEFT JOIN courses c ON c.id = sc.course_id | |||||||
| WHERE sc.score > 80 AND c.id = '01'; | WHERE sc.score > 80 AND c.id = '01'; | ||||||
| 
 | 
 | ||||||
| #32.求每门课程的学生人数 | #32.求每门课程的学生人数 | ||||||
| 
 | SELECT c.`name`, COUNT(*) | ||||||
| 
 | FROM scores s, courses c | ||||||
|  | WHERE s.course_id = c.id | ||||||
|  | GROUP BY c.id; | ||||||
| #33.成绩不重复,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 | #33.成绩不重复,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 | ||||||
|  | SELECT st.`name`, sc.score | ||||||
|  | FROM students st, scores sc, courses c, teachers t | ||||||
|  | WHERE st.id =  sc.student_id AND sc.course_id = c.id  | ||||||
|  | AND c.teacher_id = t.id AND t.`name` = '张三' | ||||||
|  | ORDER BY sc.score DESC  | ||||||
|  | LIMIT 1; | ||||||
| 
 | 
 | ||||||
| #34.成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 | #34.成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 | ||||||
| 
 | SELECT st.`name`, sc.score | ||||||
|  | FROM students st, scores sc | ||||||
|  | WHERE st.id =  sc.student_id AND sc.score = ( | ||||||
|  | 	SELECT MAX(score) | ||||||
|  | 	FROM scores, courses, teachers | ||||||
|  | 	WHERE scores.course_id = courses.id  | ||||||
|  | 	AND courses.teacher_id = teachers.id AND teachers.`name` = '张三' | ||||||
|  | ); | ||||||
| #35.查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩 | #35.查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩 | ||||||
|  | SELECT st.id, sc1.course_id, sc1.score | ||||||
|  | FROM students st, scores sc1 | ||||||
|  | WHERE st.id = sc1.student_id AND sc1.score = ANY( | ||||||
|  | 	SELECT sc2.score | ||||||
|  | 	FROM scores sc2 | ||||||
|  | 	WHERE sc2.student_id = st.id AND sc2.course_id != sc1.course_id | ||||||
|  | ); | ||||||
| 
 | 
 | ||||||
| #36.查询每门课成绩最好的前两名 | #36.查询每门课成绩最好的前两名 | ||||||
| 
 | SELECT c1.`name`, c1.score | ||||||
|  | FROM ( | ||||||
|  | 	SELECT c.`name`, sc.score | ||||||
|  | 	FROM scores sc, courses c | ||||||
|  | 	WHERE sc.course_id = c.id AND c.id = '01' | ||||||
|  | 	ORDER BY sc.score DESC | ||||||
|  | 	LIMIT 2 | ||||||
|  | )c1 | ||||||
|  | UNION ALL | ||||||
|  | SELECT c2.`name`, c2.score | ||||||
|  | FROM ( | ||||||
|  | 	SELECT c.`name`, sc.score | ||||||
|  | 	FROM scores sc, courses c | ||||||
|  | 	WHERE sc.course_id = c.id AND c.id = '02' | ||||||
|  | 	ORDER BY sc.score DESC | ||||||
|  | 	LIMIT 2 | ||||||
|  | )c2 | ||||||
|  | UNION ALL | ||||||
|  | SELECT c3.`name`, c3.score | ||||||
|  | FROM ( | ||||||
|  | 	SELECT c.`name`, sc.score | ||||||
|  | 	FROM scores sc, courses c | ||||||
|  | 	WHERE sc.course_id = c.id AND c.id = '03' | ||||||
|  | 	ORDER BY sc.score DESC | ||||||
|  | 	LIMIT 2 | ||||||
|  | )c3; | ||||||
| #37.统计每门课程的学生选修人数(超过 5 人的课程才统计) | #37.统计每门课程的学生选修人数(超过 5 人的课程才统计) | ||||||
|  | SELECT c.`name`, COUNT(*) c | ||||||
|  | FROM scores s, courses c | ||||||
|  | WHERE s.course_id = c.id | ||||||
|  | GROUP BY c.id | ||||||
|  | HAVING c>5; | ||||||
| 
 | 
 | ||||||
| #38.检索至少选修两门课程的学生学号 | #38.检索至少选修两门课程的学生学号 | ||||||
| 
 | SELECT st.id, st.`name` | ||||||
|  | FROM students st | ||||||
|  | WHERE ( | ||||||
|  | 	SELECT COUNT(*) | ||||||
|  | 	FROM scores sc | ||||||
|  | 	WHERE sc.student_id = st.id | ||||||
|  | )>=2; | ||||||
| #39.查询选修了全部课程的学生信息 | #39.查询选修了全部课程的学生信息 | ||||||
|  | SELECT st.* | ||||||
|  | FROM students st, scores sc | ||||||
|  | WHERE st.id = sc.student_id | ||||||
|  | GROUP BY st.id | ||||||
|  | HAVING COUNT(*) = 3; | ||||||
| 
 | 
 | ||||||
| #40.查询各学生的年龄,只按年份来算 | #40.查询各学生的年龄,只按年份来算 | ||||||
|  | SELECT s.`name`, TIMESTAMPDIFF(YEAR,s.birth,NOW())  | ||||||
|  | FROM students s; | ||||||
| 
 | 
 | ||||||
| #41.查询各学生的年龄,按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一 | #41.查询各学生的年龄,按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一 | ||||||
|  | SELECT s.`name`, IF(DATE_FORMAT(s.birth,'%m-%d') < DATE_FORMAT(NOW(),'%m-%d'),  | ||||||
|  | TIMESTAMPDIFF(YEAR,s.birth,NOW())-1, TIMESTAMPDIFF(YEAR,s.birth,NOW())) | ||||||
|  | FROM students s; | ||||||
| 
 | 
 | ||||||
| #42.查询本周过生日的学生 | #42.查询本周过生日的学生 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user