MySQL Tutorial
The EXISTS
operator in MySQL is used to check if a subquery returns any results.
It is commonly used in WHERE
clauses to perform conditional checks.
SELECT column_name(s) FROM table_name WHERE EXISTS ( SELECT 1 FROM another_table WHERE condition );
EXISTS
→ Checks if the subquery has any rows.SELECT 1
→ It is a convention to use SELECT 1
instead of selecting actual data, as it improves performance.WHERE condition
→ Condition for the subquery.We have two tables:
student_id |
name |
gender |
city |
age |
score |
course_id |
|
phone_number |
---|---|---|---|---|---|---|---|---|
1 |
Alice |
Female |
Delhi |
20 |
85 |
101 |
NULL |
1234567890 |
2 |
Bob |
Male |
Mumbai |
22 |
75 |
NULL |
bob@email.com |
NULL |
3 |
Charlie |
Male |
Delhi |
21 |
95 |
102 |
NULL |
NULL |
4 |
David |
Male |
Bangalore |
23 |
65 |
101 |
david@email.com |
NULL |
5 |
Eve |
Female |
Mumbai |
20 |
80 |
103 |
NULL |
NULL |
6 |
Frank |
Male |
Delhi |
22 |
90 |
103 |
NULL |
NULL |
7 |
Alice |
Female |
Mumbai |
19 |
60 |
102 |
NULL |
NULL |
course_name |
course_name |
---|---|
101 |
Math |
102 |
Science |
103 |
History |
104 |
English |
The following SQL statement find students enrolled in courses.
Try it yourself
name |
---|
Alice |
Bob |
Charlie |
David |
Eve |
Frank |
EXISTS
checks if the student’s course_id
exists in the courses
table.students
exist in courses
, all students are returned.