关于Python连接liunx中mysql数据库的方式在这一篇文章
Python连接Liunx中mysql数据库-保姆级教程
关于Python针对liunx中的mysql数据库进行增删改查操作的文章在这一篇可以看一下
Python连接Liunx中mysql数据库-增删改查
对于单表查询的学习可以看这一篇文章
Python对liunx中mysql数据库进行单表查询 10个案例带你了解
Python连接Liunx中mysql数据库-多表查询【10个经典案例】
今天持续分享Liunx连接mysql数据库进行三表查询
在liunx服务器中数据库创建三个表
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.查询出学习成绩60分以上的学生姓名与成绩与学科;
sql1 ='select name,grade,cname from a,b,c where a.id = b.id and c.bid = b.bid and grade >60;'
curs.execute(sql1)
print(curs.fetchall())
2.查询姓名以qi结尾的学生姓名及其任课老师姓名
sql1 ='select name,teacher from a,b,c where a.id = b.id and c.bid = b.bid and name like "%qi";'
curs.execute(sql1)
print(curs.fetchall())
3.选修课名为english的学生学号与姓名;
sql1 ='select name,a.id from a,b,c where a.id = b.id and c.bid = b.bid and cname="english" ;'
curs.execute(sql1)
print(curs.fetchall())
4.选修课号为c1的学生学号;
sql1 ='select a.id from a,b,c where a.id = b.id and c.bid = b.bid and c.bid="c1" ;'
curs.execute(sql1)
print(curs.fetchall())
5.请问每科各有那些学生求姓名成绩;
sql1 ='select name,grade,c.cname from a,b,c where a.id = b.id and c.bid = b.bid ;'
curs.execute(sql1)
print(curs.fetchall())
6.请问70分以上的学生姓名及学科;
sql1 ='select name,c.cname from a,b,c where a.id = b.id and c.bid = b.bid and grade>70 ;'
curs.execute(sql1)
print(curs.fetchall())
7.请问考试不及格的考生姓名以及科目名称;
sql1 ='select name,c.cname from a,b,c where a.id = b.id and c.bid = b.bid and grade<60 ;'
curs.execute(sql1)
print(curs.fetchall())
8.找出所有科目中最高分的学生姓名成绩
sql1 ='select any_value(name),max(grade),any_value(cname) from a,b,c where a.id = b.id and c.bid = b.bid order by cname desc;'
curs.execute(sql1)
print(curs.fetchall())
9.各个科目的平均成绩各是多少;
sql1 ='select avg(grade),cname from a,b,c where a.id = b.id and c.bid = b.bid group by cname;'
curs.execute(sql1)
print(curs.fetchall())
10.显示出参加考试的学生的学号和姓名;
sql1 ='select name,a.id from a,b,c where a.id = b.id and c.bid = b.bid ;'
curs.execute(sql1)
print(curs.fetchall())