用JOINs进行多表联合查询

信息化聊科技 2025-02-03 14:10:32
1. 什么是表? - 表就像一张大表格,里面有很多行和列。比如: - 一个表叫“学生表”,里面有每个学生的名字、年龄、班级。 - 另一个表叫“成绩表”,里面有每个学生的成绩。 2. 为什么要联合查询? - 有时候,我们需要把两张表的信息拼在一起看。比如: - 你想知道每个学生的名字和他们的成绩,但名字在“学生表”里,成绩在“成绩表”里。 - 这时候就需要把两张表联合起来查询。 3. 什么是JOIN? - `JOIN`就像把两张表用胶水粘在一起。 - 粘在一起的条件是:两张表里有一些相同的东西(比如学生的学号)。 4. 怎么用JOIN联合查询? - 假设有两张表: - 学生表: | 学号 | 名字 | 年龄 | |------|-------|------| | 1 | 小明 | 10 | | 2 | 小红 | 11 | | 3 | 小刚 | 10 | - 成绩表: | 学号 | 科目 | 成绩 | |------|------|------| | 1 | 数学 | 90 | | 2 | 语文 | 85 | | 3 | 英语 | 88 | - 如果我们想查每个学生的名字和成绩,可以这样写: SELECT 学生表.名字, 成绩表.成绩 FROM 学生表 JOIN 成绩表 ON 学生表.学号 = 成绩表.学号; - 解释: - `SELECT 学生表.名字, 成绩表.成绩`:选择“名字”和“成绩”这两列。 - `FROM 学生表`:从“学生表”里找数据。 - `JOIN 成绩表`:把“学生表”和“成绩表”粘在一起。 - `ON 学生表.学号 = 成绩表.学号`:粘在一起的条件是“学号”要相同。 - 结果: | 名字 | 成绩 | |------|------| | 小明 | 90 | | 小红 | 85 | | 小刚 | 88 | 5. JOIN的种类: - INNER JOIN:只返回两张表里都有的数据(比如学号在两个表里都存在的学生)。 - LEFT JOIN:返回左边表的所有数据,即使右边表没有匹配的数据。 - RIGHT JOIN:返回右边表的所有数据,即使左边表没有匹配的数据。 - FULL JOIN:返回两张表的所有数据,不管有没有匹配。 6. 举个例子: - 如果“学生表”里有一个学生“小丽”,但“成绩表”里没有她的成绩: - 用`INNER JOIN`:小丽不会出现在结果里。 - 用`LEFT JOIN`:小丽会出现在结果里,但成绩是空的。 总结: - `JOIN`就是把两张表粘在一起,按照某个条件(比如学号相同)来查数据。 - 常用的`JOIN`有`INNER JOIN`、`LEFT JOIN`、`RIGHT JOIN`等。
0 阅读:3

信息化聊科技

简介:感谢大家的关注