INNER JOIN到SELECT语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了INNER JOIN到SELECT语句相关的知识,希望对你有一定的参考价值。
我有2个表,主要和次要,具有相同的列。它们共享一个参考号,其中包含一些重复的条目和一些独有的条目。我试图从他们的查询组合,以便从主要选择所有ref复制的所有,然后从两者中选择所有剩余。
这是我尝试过的:
SELECT * FROM primary as p
INNER JOIN
(SELECT * FROM primary WHERE ref NOT IN ( SELECT ref from secondary ) as s)
ON p.ref = s.ref
我收到一个语法错误,似乎与最后一个“ON p.ref = s.ref”部分有关。我究竟做错了什么?
答案
不确定,代码实际上是否会尝试实现,但语法错误与最后一个右括号相关联。试试这个:
SELECT * FROM primary as p
INNER JOIN
(SELECT * FROM primary WHERE ref NOT IN ( SELECT ref from secondary )) as s
ON p.ref = s.ref
另一答案
INNER JOIN让我走错了路。使用UNION让我得到了我想要的结果。
SELECT * FROM primary
UNION
(SELECT * FROM secondary WHERE ref NOT IN ( SELECT ref from primary ))
以上是关于INNER JOIN到SELECT语句的主要内容,如果未能解决你的问题,请参考以下文章
PHP,PDO,SQLite INNER JOIN语句和变量