SQL选择其中一个参数等于另一个表中的另一个参数

SQL选择其中一个参数等于另一个表中的另一个参数,sql,join,jointable,Sql,Join,Jointable,我对SQL表联接非常陌生,需要一些帮助 我有两张桌子,没有。一张看起来像这样(让我们称之为桌子A): 另一个看起来像这样(称为TableB): 我想加入这些表,以便根据“Kuldo_felh_id”获得登录名,并保留整个表的内容 因此,我编写了以下SQL查询命令: SELECT a.*, b.login_nev FROM TableA a, TableB b WHERE fogado_felh_id = 35 AND b.id = a.kuldo_felh

我对SQL表联接非常陌生,需要一些帮助

我有两张桌子,没有。一张看起来像这样(让我们称之为桌子A):

另一个看起来像这样(称为TableB):

我想加入这些表,以便根据“Kuldo_felh_id”获得登录名,并保留整个表的内容

因此,我编写了以下SQL查询命令:

SELECT 
    a.*, b.login_nev 
FROM
    TableA a, TableB b 
WHERE
    fogado_felh_id = 35 
    AND b.id = a.kuldo_felh_id;
它返回以下内容:

    Fogado_felh_id   Kuldo_felh_id   Login_name
    -----------------------------------------------------------
    35               33              somebody@emailhere.com
    35               38              SomeUserName
问题在于,此命令不会返回kuldo_felh_id为null或该id在TableB中不存在的行。如果TableB中不存在tableA内容,如何返回该内容

这是我希望看到的输出:

    Fogado_felh_id   Kuldo_felh_id   Login_name
    --------------------------------------------------------
    35               33              somebody@emailhere.com
    35               38              SomeUserName
    35               NULL            NULL //Because it does not exist the login_name should be null
    35               39              NULL //Because it does not exist the login_name should be null

这应该得到你想要的。注意
左连接
语法。在关键字中包含
,以指定连接这两个表的内容。一旦开始使用别名,请为所有查询列使用别名

SELECT a.*, b.login_nev 
from TableA a
LEFT JOIN TableB b ON b.id = a.kuldo_felh_id
where a.fogado_felh_id = 35 

这应该得到你想要的。注意
左连接
语法。在
关键字中包含
,以指定连接这两个表的内容。一旦开始使用别名,请为所有查询列使用别名

SELECT a.*, b.login_nev 
from TableA a
LEFT JOIN TableB b ON b.id = a.kuldo_felh_id
where a.fogado_felh_id = 35 

使用
左连接
。不要使用旧式联接
表a、表B
使用
左联接
。不要使用旧式连接
表a、表B
谢谢,你是救命恩人!谢谢,你是救命恩人!
SELECT a.*, b.login_nev 
from TableA a
LEFT JOIN TableB b ON b.id = a.kuldo_felh_id
where a.fogado_felh_id = 35