左联接不产生空值

时间:2020-07-14 17:12:21

标签: mysql sql

我有两个这样的表:

website_session_id  landing_page
'1',                '/home'
'2',                '/home'
'3',                '/home'
'4',                '/home'
'5',                '/home'
'6',                '/home'
'7',                '/home'
'8',                '/home'
'9',                '/home'
'10',               '/home'



website_session_id      
'1'
'2'
'3'
'4'
'5'
'7'
'8'
'9'
'10'

我正在使用LEFT Join连接两个表,根本没有显示值为6的website_session_id,不是应该显示类似的内容

6     /home    NULL

SQL查询:

SELECT 
    *
FROM
    session_first_view
        LEFT JOIN
    bounced_sessions ON session_first_view.website_session_id =  bounced_sessions.website_session_id 

enter image description here

2 个答案:

答案 0 :(得分:0)

只需检查表名:假设第一个表名是T1,第二个表是T2,则连接条件如下所示,其中T1具有2列,如上所述。

SELECT 
    *
FROM
    T1
        LEFT JOIN
    T2 ON T1.website_session_id =  T2.website_session_id 

答案 1 :(得分:-1)

如果您的第一个表是session_first_view,它应该可以工作

http://sqlfiddle.com/#!9/81e8b06/1

除非第一个表实际上没有website_session_id ='6'的记录。 请检查您的表格数据。

此外,您可以使用来检查是否得到空结果

SELECT 
    *
FROM
    session_first_view
        LEFT JOIN
    bounced_sessions ON session_first_view.website_session_id =  
bounced_sessions.website_session_id 
WHERE bounced_sessions.id IS NULL

它至少应显示website_session_id='6'