我有一个表“ all_data”,其中包含2条记录
a) Independent records which should get fetched all times
b) All records from table "all_product"
现在我还有更多的桌子,例如 “ MS_product”,“ apple_product”,“ Linux_product”以及所有这些表都是表“ all_product”的子集。
我已经使用过左联接或右联接,但是看起来没用。
我想从表'all_data'中获取所有独立记录,而仅从其他表中获取匹配的记录,即'ms_product',因此最终输出应为 所有独立记录+“ MS_product”,“ apple_product”或“ Linux_product”表中的匹配记录。
答案 0 :(得分:0)
您可以对第一个查询使用MINUS运算符:
SELECT *
FROM all_records
MINUS
(
SELECT *
FROM MS_product
UNION
SELECT *
FROM Apple_product
)
它将为您提供所有不在MS_product和Apple_product表中的元组。
但是,我不建议像您一样设计数据库。最好选择一个带有专用列的品牌产品表。