mysql三表查询30个经典案例
- 创建三个表a、b、c
- 表a中的数据
- 表b中的数据
- 表c中的数据
- 1.查询出学习成绩70分以上的学生姓名与成绩与学科;
- 2.查询姓名以mi结尾的学生姓名及其任课老师姓名;
- 3.选修课名为math的学生学号与姓名;
- 4.选修课号为C4的学生学号;
- 5.请问每科各有那些学生求姓名成绩;
- 6.请问总分在80分以上的学生姓名及学科;
- 7.请问考试不及格的考生姓名以及科目名称;
- 8.找出所有科目中最高分的学生姓名成绩
- 9.各个科目的平均成绩各是多少;
- 10.显示出参加考试的学生的学号和姓名;
- 11.请问 Ye Xiaoming一共参加了几门科目的考试;
- 12.请求出Ye Xiaoming同学所有任课老师的名字及其所教的课程名;
- 13.求每个同学的年龄和性别,姓名
- 14.请问武老师教什么课程,以及他班上所有学生的姓名;
- 15.统计art选修课中有多少男生和女生,(1表示男生,0表示女生)
创建三个表a、b、c
create table `a`(
`id` int(10),
`name` VARCHAR(20),
`age` int(5),
`sex` int(1)
);
CREATE table `b`
(
`id` int(10),
`bid` char(10),
grade CHAR(20)
);
CREATE table `c`(
`bid` char(10),
`cname` char(20),
`teacher` char(20)
)
表a中的数据
表b中的数据
表c中的数据
1.查询出学习成绩70分以上的学生姓名与成绩与学科;
SELECT name,grade,cname FROM a,b,c where a.id = b.id and c.bid = b.bid and grade>70
2.查询姓名以mi结尾的学生姓名及其任课老师姓名;
SELECT name,teacher FROM a,b,c where a.id = b.id and c.bid = b.bid and name like ‘%ng’
3.选修课名为math的学生学号与姓名;
SELECT a.id,name FROM a,b,c where a.id = b.id and c.bid = b.bid and cname = ‘math’
4.选修课号为C4的学生学号;
SELECT a.id FROM a,b,c where a.id = b.id and c.bid = b.bid and b.bid = ‘c4’
5.请问每科各有那些学生求姓名成绩;
SELECT a.name,grade,cname FROM a,b,c where a.id = b.id and c.bid = b.bid
6.请问总分在80分以上的学生姓名及学科;
SELECT a.name,cname FROM a,b,c where a.id = b.id and c.bid = b.bid and grade>80
7.请问考试不及格的考生姓名以及科目名称;
SELECT a.name,cname FROM a,b,c where a.id = b.id and c.bid = b.bid and grade<60
8.找出所有科目中最高分的学生姓名成绩
SELECT any_value(a.name),any_value(grade),max(cname) FROM a,b,c where a.id = b.id and c.bid = b.bid ORDER BY cname desc
9.各个科目的平均成绩各是多少;
SELECT avg(grade),cname FROM a,b,c where a.id = b.id and c.bid = b.bid GROUP BY cname
10.显示出参加考试的学生的学号和姓名;
SELECT a.id,name FROM a,b,c where a.id = b.id and c.bid = b.bid
11.请问 Ye Xiaoming一共参加了几门科目的考试;
SELECT a.id,cname FROM a,b,c where a.id = b.id and c.bid = b.bid and name=‘Ye Xiaoming’
12.请求出Ye Xiaoming同学所有任课老师的名字及其所教的课程名;
SELECT cname,teacher FROM a,b,c where a.id = b.id and c.bid = b.bid and name=‘Ye Xiaoming’
13.求每个同学的年龄和性别,姓名
SELECT name,age,sex FROM a,b,c where a.id = b.id and c.bid = b.bid
14.请问武老师教什么课程,以及他班上所有学生的姓名;
SELECT name,cname FROM a,b,c where a.id = b.id and c.bid = b.bid and teacher like ‘wu%’
15.统计art选修课中有多少男生和女生,(1表示男生,0表示女生)
SELECT COUNT(sex),sex FROM a,b,c where a.id = b.id and c.bid = b.bid and cname=‘art’ GROUP BY sex