Py学习  »  DATABASE

有没有更快更好的方法来执行这个mysql查询?

Ninet9 • 6 年前 • 1564 次点击  

假设我有两张桌子。项目和存储。
它们之间按项目ID有关系。
我要的是列出所有在仓库里找不到关系的物品
我预感我的陈述可能比这简单得多:

SELECT item.name,storage.stuff 
FROM item 
LEFT JOIN storage ON storage.item_id=item.id 
WHERE storage.stuff IS NULL 
GROUP BY item.id 

是否有方法将左联接替换为其他联接,以便返回无需联接的项?
(实际上,我想保持stuff字段的返回,即使它总是空的,因为我有一个查询函数,它通过ajax为clientside提供服务,有很多方法可以列出这些项,而且我不想检查这个字段是否存在,也不想在获取部分检查它)

Table Item
id     name
1       a
2       b
3       c
4       d

Table Storage
item_id      stuff
1             this
1             that
2             this  

预期结果:

item_id     item_name     stuff
   3           c           NULL
   4           d           NULL
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40710
文章 [ 2 ]  |  最新文章 6 年前