首页 > 其他分享 >day64-联表查询

day64-联表查询

时间:2023-01-28 19:55:50浏览次数:32  
标签:join -- 查询 studentno studentresult subjectno 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
 -- 先查询两张表再慢慢增加

 

 

标签:join,--,查询,studentno,studentresult,subjectno,day64,联表
From: https://www.cnblogs.com/GUGUZIZI/p/17071172.html

相关文章