SQL中的内毗连(inner join)用法

瑞星  金牌会员 | 2024-6-15 03:43:41 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 535|帖子 535|积分 1605

一、什么是内毗连(inner join)
`INNER JOIN`是SQL中的一种毗连类型,用于将两个或多个表中的记录根据某个条件举行匹配,并返回匹配的记录。它只返回那些在两个表中都有匹配的记录。
以下是一个示例的`INNER JOIN`查询语句:
SELECT table1.column1, table2.column2
FROM table1
INNER JOIN table2
ON table1.common_column = table2.common_column;
二、内毗连(inner join)的用法
下面我们使用3个查询示例,讲解内毗连(inner join)在查询中的使用场景。
以下是一份学生信息登记表、一份考试结果表、一份出生地登记表
表1:学生信息登记表

 

表2:部分学天生绩表

表3:出生地登记表

1、要求查询出参加了考试的学生信息。
使用'学号'作为毗连键,毗连两个表
  1. SELECT
  2.         y.学号,
  3.         y.姓名,
  4.         y.总分,
  5.         x.班级,
  6.         x.入学日期,
  7.         x.联系电话
  8. FROM
  9.         学籍信息 AS x
  10.         INNER JOIN 部分学生成绩 AS y
  11.         ON x.学号 = y.学号;
复制代码
以上语句表示让表“学籍信息”的列“学号”和表“部分学天生绩”的列“学号”作为匹配的毗连键。
可以看到使用inner join (内毗连)将两个表毗连后,对有考试结果的学生信息举行了补全

2、要求查询出考试结果在90分以上的学生信息。
  1. SELECT
  2.         y.学号,
  3.         y.姓名,
  4.         y.总分,
  5.         x.班级,
  6.         x.入学日期,
  7.         x.联系电话
  8. FROM
  9.         学籍信息 AS x
  10.         INNER JOIN 部分学生成绩 AS y
  11.         ON x.学号 = y.学号
  12.         where 总分 >= 90;
复制代码
以上查询通过设置where过滤条件,查询出了总分大于90分的学生信息。
3、要求查询出考试结果在90分以上学生的户籍地。
  1. SELECT
  2.         y.学号,
  3.         y.姓名,
  4.         y.总分,
  5.         x.班级,
  6.         x.入学日期,
  7.         x.联系电话,
  8.         z.户口性质,
  9.         z.户籍地
  10. FROM
  11.         学籍信息 AS x
  12.         INNER JOIN 部分学生成绩 AS y
  13.         ON x.学号 = y.学号
  14.         inner join 出生地 as z
  15.         on x.学号 = z.学号
  16.         where 总分 >= 90;
复制代码
以上查询通过毗连3个表,设置where过滤条件,查询出了总分大于90分的学生信息。

 
 
 
 
 
 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表