少学习多摸鱼

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 @ 2023-01-28 19:41  北海之上  阅读(18)  评论(0)    收藏  举报
/* 粒子吸附*/