鱼少学习多摸

day64-联表查询

联表查询

大概

同时显示多个表的数据进行查看或者合并

从多张表中查取需要的信息

 /*
 分析需求,分析查询字段来自那些表格
 确定使用那种连接查询
 确定交叉点
 判断的条件
 */

 

查询参加考试的同学

复制代码
 -- 查询参加考试同学(学号,姓名,编号,分数)
 /*
 分析需求,分析查询字段来自那些表格
 确定使用那种连接查询
 确定交叉点
 判断的条件
 */
 SELECT s.studentno,`studentname`,`subjectno`,`studentresult`
 FROM student AS s
 INNER JOIN result AS r
 WHERE s.studentno = r.studentno
复制代码

 

join

right join即使左表没有匹配,也会从右表中查询到

left join 即使右表没有匹配,也会从左表中查询到

inner join 如果表中有一个能匹配就能查询到

复制代码
 -- right join
 SELECT s.studentno,`studentname`,`subjectno`,`studentresult`
 FROM student AS s
 RIGHT JOIN result r
 ON s.studentno = r.studentno
 ​
 -- left join
 SELECT s.studentno,`studentname`,`subjectno`,`studentresult`
 FROM student AS s
 LEFT JOIN result r
 ON s.studentno = r.studentno
复制代码

 

查询缺考

 
-- 查询缺考
 SELECT s.studentno,`studentname`,`subjectno`,`studentresult`
 FROM student AS s
 LEFT JOIN result r
 ON s.studentno = r.studentno
 WHERE studentresult IS NULL

 

多表查询

 -- 查询参加考试的同学信息:学号,姓名,科目名称,成绩
 SELECT s.studentno,`studentname`,`subjectname`,`studentresult`
 FROM student s
 RIGHT JOIN result r
 ON r.studentno = s.studentno
 INNER JOIN `subject` sub
 ON r.subjectno = sub.subjectno

 


 

总结

 
-- 查询哪些数据 select
 -- 从哪些表中查 from xxxx
 -- 连接那些表 join
 -- 先查询两张表再慢慢增加

 

 
posted @   北海之上  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
/* 粒子吸附*/
点击右上角即可分享
微信分享提示