Python连接Liunx中mysql数据库-三表查询【10个经典案例】

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 Python连接Liunx中mysql数据库-三表查询【10个经典案例】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

在这里插入图片描述
关于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())

在这里插入图片描述

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134077.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!