通过外键连接的两个表

问题描述 投票:0回答:2

我需要在SQL Server中连接两个表:Table A有一个称为IDTableA的主键(integer字段,Table B有一个主键IDTableB(也有integer字段)。] >

[Table A包含一个外键IDTableB,据此我想连接两个表,此字段的类型为integer,其值为0。

我的问题是,由于Table B中没有ID为0的记录,因此不要向我显示表A中那些存储在外键中的记录,其值为0。

两个表之间的关系是:Table A中的一条记录可能属于表B中的一条记录,也可能不属于该表。因此,表A中的外键的默认值为0。

我尝试用INNER JOINLEFT OUTER JOIN连接表,但是它不起作用,并且没有显示任何记录。我能做什么?。

谢谢。

我的SQL语句:

Select TableA.* 
From TableA 
inner join TableB on TableA.IdTableB = TableB.IdTableB

解决方案:

    Select TableA.* 
    From TableA 
    LEFT JOIN TableB on TableA.IdTableB = TableB.IdTableB

更多信息:LEFT JOIN vs. LEFT OUTER JOIN in SQL Server

我需要在SQL Server中连接两个表:表A具有一个称为IDTableA(整数字段)的主键,而表B具有一个主键IDTableB(以及整数字段)。表A包含一个外键...

sql sql-server foreign-keys foreign-key-relationship
2个回答
1
投票

仅尝试使用左联接


0
投票

内部联接是应用程序中最常用的联接操作,可以视为默认联接类型。内部联接通过基于联接谓词组合两个表(A和B)的列值来创建新的结果表。该查询将A的每一行与B的每一行进行比较,以找到满足连接谓词的所有行对。当满足连接谓词时,A和B的每个匹配行对的列值将合并为结果行。

© www.soinside.com 2019 - 2024. All rights reserved.