1

この sql ステートメントを最適化する方法はありますか? もしかして合流か何か?

SELECT id, name
FROM item
WHERE id NOT IN (
    SELECT id 
FROM itemlock
) AND id NOT IN (
SELECT id
    FROM itemlog
)

ありがとう

4

3 に答える 3

3

使用するLEFT JOIN

SELECT  a.*
FROM    item a
        LEFT JOIN itemLock b
            ON a.ID = b.ID
        LEFT JOIN itemLog c
            ON a.ID = c.ID
WHERE   b.ID IS NULL AND 
        c.ID IS NULL
于 2012-12-14T03:28:33.117 に答える
0

以下のように、UNION を使用することもできます。

SELECT id, name FROM item 
WHERE id NOT IN (
   SELECT id  FROM itemlock UNION SELECT id FROM itemlog
)
于 2012-12-14T03:52:21.523 に答える
0

これを試して:

SELECT id, NAME FROM item i 
LEFT JOIN (SELECT id FROM itemlock 
    UNION 
    SELECT id FROM itemlog) AS A ON i.id = A.id 
WHERE A.id IS NULL;
于 2012-12-14T04:54:12.373 に答える