DQL-查询笔记-2022-11-30

联表查询

join 连接的表 on(判断的条件) 连接查询   固定的语法

where  等值查询

 

 

分析需求  分析查询的数据来源于那些表

确定使用那种连接 7种

确认交叉点(这两张表中哪个数据是相同的)

判断条件 学生表中的 studentNo = 成绩表中的  studentNo

-- 联表查询
SELECT s.`studentno`,studentname,`subjectno`,`studentresult`
FROM student AS s
INNER JOIN result AS r
on s.studentno = r.studentno

操作 描述
inner join 如果表中至少有一个匹配,就返回行
right join 会从右表中返回值,即使左表中没有匹配
left join 会从左表中返回值,即使右表中没有匹配

 

--查询缺考的同学

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

--三张表联表

-- 三张表关联
-- 学号,姓名,科目编号,科目名,分数
SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult`
FROM student s
RIGHT JOIN result r
ON s.studentno = r.studentno
INNER JOIN `subject` sub
ON r.`subjectno`= sub.`subjectno`

-- 我要查询哪些数据  select  

-- 从那些表中查    from  表 XXX join 连接的表 on 交叉条件

-- 假设存在多张表的查询,慢慢来,先连两张表

 

posted @ 2022-11-30 16:04  Rui2022  阅读(16)  评论(0编辑  收藏  举报