飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

复杂sql语句练习

时间:2022-03-14  作者:godlover  

复杂sql语句练习

QQ图片20191217174224
1.查询所有的课程的名称以及对应的任课老师姓名
    SELECT
        域名e,
        域名e 
    FROM
        teacher INNER JOIN course ON 域名 = 域名her_id
        
        cname	tname
        生物		张磊老师
        物理		李平老师
        美术		李平老师
        体育		刘海燕老师
        
2.查询平均成绩大于80分的同学的姓名和平均成绩
SELECT
	域名e,
	域名 
FROM
	student
	INNER JOIN (
	SELECT
		域名ent_id,
		AVG( 域名 ) AS ag 
	FROM
		score 
	GROUP BY
		域名ent_id 
	HAVING
		AVG( 域名 ) > 80 
	) AS t1 ON 域名ent_id = 域名;
	sname		ag
	张三			域名
	刘三			域名

	
3.查询没有报李平老师课的学生姓名
	SELECT
	sname 
FROM
	student 
WHERE
	域名 NOT IN (
	SELECT
		student_id 
	FROM
		score 
	WHERE
		course_id IN ( SELECT DISTINCT cid FROM teacher INNER JOIN course ON 域名 = 域名her_id WHERE tname = \\'李平老师\\' ) 
	);
	sanme
	刘三
	刘一
	刘二
	刘四

4.查询没有同时选修物理课程和体育课程的学生姓名
	SELECT
	sname 
FROM
	student 
WHERE
	sid IN (
	SELECT
		student_id 
	FROM
		(
			( SELECT * FROM score INNER JOIN course ON cid = course_id WHERE 域名e = \\'物理\\' OR 域名e = \\'体育\\' ) AS t1 
		) 
	GROUP BY
		student_id 
	HAVING
		COUNT( student_id ) = 1 
	);
	sname
	理解
	钢蛋
	刘三
5.查询挂科超过两门(包括两门)的学生姓名和班级
	SELECT
	域名ion,
	域名e 
FROM
	( ( SELECT * FROM class INNER JOIN student ON cid = class_id ) AS t2 ) 
WHERE
	sname IN (
	SELECT
		sname 
	FROM
		student 
	WHERE
		sid IN ( SELECT student_id FROM score WHERE num < 60 GROUP BY student_id HAVING COUNT( student_id ) >= 2 ) 
	);
	caption		sname
	三年二班		理解

标签:编程
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。