LEFT JOIN/IS NULL
का उपयोग करना
SELECT DISTINCT
i.data
FROM IMAGE i
JOIN USER_IMAGE ui ON ui.image_id = i.id
LEFT JOIN USER u ON u.id = ui.user_id
AND u.user = ?
WHERE u.id IS NULL
NOT IN
का उपयोग करना
SELECT DISTINCT
i.data
FROM IMAGE i
JOIN USER_IMAGE ui ON ui.image_id = i.id
WHERE ui.user_id NOT IN (SELECT u.id
FROM USER u
WHERE u.user = ?)
NOT EXISTS
का उपयोग करना
SELECT DISTINCT
i.data
FROM IMAGE i
JOIN USER_IMAGE ui ON ui.image_id = i.id
WHERE NOT EXISTS(SELECT NULL
FROM USER u
WHERE u.id = ui.user_id
AND u.user = ?)
प्रदर्शन:
LEFT JOIN/IS NULL
और NOT IN
समकक्ष प्रदर्शन प्रदान करें - NOT EXISTS
~ 30% कम कुशल है। अधिक विवरण के लिए इसे देखें
।