【软件测试基础知识】Mysql子查询和连接查询(下)

发布 : 软件测试培训      来源:软件测试培训问答

2020-09-22 20:34:00

5、Mysql连接查询

Mysql的连接查询是通过JOIN关键词来实现的,不同的JOIN有:

INNER JOIN:如果表中存在只少一个匹配项,就返回行数据。

LEFT JOIN:即使右表没有匹配项,也会返回左表的所有行。

RIGHT JOIN:即使左表没有匹配项,也会返回右表的所有行。

:只要任意一张表有匹配项,就返回行数据。

在Mysql中的查询中连接查询的位置:

内连接:SELECT 查询内容 FROM 查询范围 (INNER) JOIN 条件;

外连接:SELECT 查询内容 FROM 查询范围 LEFT JOIN 条件;

外连接:SELECT 查询内容 FROM 查询范围 RIGHT JOIN 条件;

全连接:SELECT 查询内容 FROM 查询范围 条件;

【软件测试基础知识】Mysql子查询和连接查询(下)

实例1:

题目1:查询所有学生的sno、cname和degree列。

mysql> SELECT g.sno,c.cname,g.degree FROM course c INNER JOIN grade g ON c.cno=g.cno;

实例2:

题目2:查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为null)。

mysql> SELECT s.sid,s.sname,sc.count,sc.sum FROM student s LEFT JOIN (SELECT sid id, count(sid) count, sum(score) sum FROM score GROUP BY sid) sc ON s.sid=sc.id;

实例3:

题目3:查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩。

mysql> SELECT s.sid,s.sname,sc.count,sc.sum FROM student s RIGHT JOIN (SELECT sid id, count(sid) count, sum(score) sum FROM score GROUP BY sid) sc ON s.sid=sc.id;

实例4:

题目:4:查询所有学生和所有老师的全部信息。

mysql> SELECT * FROM students SELECT * FROM teachers;

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部