MySQL + SQL · Lesson 73

EXISTS and NOT EXISTS

EXISTS Operator

EXISTS returns TRUE if a subquery returns at least one row. NOT EXISTS is the opposite. Often faster than IN for checking existence.

Examples

-- students who have paid at least one fee
SELECT name FROM students s
WHERE EXISTS (SELECT 1 FROM fees f WHERE f.roll_no = s.roll_no);

-- students who have NOT paid any fee
SELECT name FROM students s
WHERE NOT EXISTS (SELECT 1 FROM fees f WHERE f.roll_no = s.roll_no);

Summary

  • EXISTS = true if the subquery has any row; NOT EXISTS = none.
  • Great for "has related record / has no related record" checks.
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 Live Code Editor

This page's programs are ready here — run them, edit them, and learn. No installation needed.
Powered by OneCompiler. The code loads into the editor automatically — press Run to see the output. If the editor does not open, open it in a new tab.