Mysql 当对存在时,右外部联接在左侧(id)调用null

Mysql 当对存在时,右外部联接在左侧(id)调用null,mysql,sql,Mysql,Sql,下面的结果是,即使存在一对(例如,有一个f.URL=l.URL,并且它们都不是null),左手(表l)“标识符”也是null。标识符应视为自动递增,“URL”是唯一的 有没有什么明显的事情我应该做而不是做 SELECT * FROM `l` RIGHT JOIN f ON f.URL = l.URL AND f.url <> '' AND f.ID = l.id AND l.url IS NULL AND l.id IS NULL 选择* 从'l'开始 在f.

下面的结果是,即使存在一对(例如,有一个f.URL=l.URL,并且它们都不是null),左手(表l)“标识符”也是null。标识符应视为自动递增,“URL”是唯一的

有没有什么明显的事情我应该做而不是做

 SELECT *
 FROM `l` 
 RIGHT JOIN f ON f.URL = l.URL
 AND f.url <> ''
 AND f.ID = l.id
 AND l.url IS NULL 
 AND l.id IS NULL  
选择*
从'l'开始
在f.URL=l.URL上右键连接f
和f.url“”
f.ID=l.ID
并且l.url为空
l.id为空

这只是因为您具有条件
,并且l.id为NULL


因此,所有行都将具有
l.id=NULL
。(或者,用你自己的话来说,“左手标识符为null”。

如果有人偶然发现了这一点,那是因为我在on语句中做了以下操作:

这可以通过在我打算作为以下声明的内容之后添加where条款来解决:

SELECT *
 FROM `l` 
 RIGHT JOIN f ON f.URL = l.URL
 WHERE f.url <> ''
 AND f.ID = l.id
 AND l.url IS NULL 
 AND l.id IS NULL  
选择*
从'l'开始
在f.URL=l.URL上右键连接f
其中f.url“”
f.ID=l.ID
并且l.url为空
l.id为空

顺便说一句,右连接非常罕见。我想选择右边的信息,如果左边的信息不存在,我该怎么做?