中易网

T-SQL中 inner join on

答案:3  悬赏:0  
解决时间 2021-01-16 02:52
  • 提问者网友:欲望失宠
  • 2021-01-15 04:32
T-SQL中 inner join on
最佳答案
  • 二级知识专家网友:平生事
  • 2021-01-15 05:07
查询结果的话肯定要用到下面四种情况的一种。不是INNER JOIN的连接就是其他三种情况之一。
具体举个例子
SELECt a.xh, a.yw, b.xx FROM a INNER JOIN b ON a.xh =b.xh
其中a.xh, a.yw, b.xx是显示的结果中包含的字段,FROM a INNER JOIN b 是结果中的字段来自哪两个怎么关联的表,ON a.xh =b.xh是两个表关联的关键字段。这是最简单的两个表的连接查询,必须要有这三个基本内容。至于排序、分组等功能的实现再另外加条件就行了。
_____________________________
两表连接有四种情况:
INNER JOIN 只有在其他表中包含对应记录(一个或多个)的记录才出现在查询结果中。即JOIN左右两则所有的匹配记录。
LEFT [OUTER] JOIN 在查询结果中包含:JOIN 左侧表中的所有记录,以及JOIN 右侧表中匹配的记录。OUTER 关键字可被省略;包含 OUTER 强调这是一个外连接 (outer join)。
RIGHT [OUTER] JOIN 在查询结果中包含:JOIN 右侧表中的所有记录,以及 JOIN 左侧表中匹配的记录。OUTER 关键字可被省略;包含 OUTER 强调这是一个外连接接 (outer join)。
FULL [OUTER] JOIN 在查询结果中包含:JOIN 两侧所有的匹配记录,和不匹配的记录;包含 OUTER 强调这是一个外连接 (outer join)。
比如两表A为语文成绩,B为数学成绩,通过学号XH连接,显示A.XH,A.YW,B.XH,B.XX:
A: B:
xh yw xhxx
180 1 90
285 3 70
360 4 50
1)、inner join 的结果为
180 1 90
360 3 70

2)、right join的结果为
1 80 1 90
3 60 3 70
.null..null. 4 50

3)、left joinr的结果为
xh yw xh xx
180 190
285 .null. .null
360 370

4)、full joinr的结果为
xhyw xhxx
1 80 1 90
2 85 .null. .null.
3 60 3 70
.null. .null.4 50
全部回答
  • 1楼网友:行路难
  • 2021-01-15 06:15
没有
  • 2楼网友:行路难
  • 2021-01-15 05:17
没有。这个查询是在tba和tbB 组合成结果集(包含所有列)中找这两列相等的记录。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息