Terima kasih telah memperbarui kueri; sekarang kita dapat melihat bahwa kondisi WHERE hanya diterapkan pada terakhir Permintaan UNION. Anda harus salah satu tambahkan klausa WHERE itu ke setiap kueri, atau bungkus sebagai subpilihan dan terapkan klausa WHERE ke dalamnya.
select s.id as id, s.email as email, s.password as password, s.role as role from tblStudents s
where email = "example@sqldat.com"
union
select a.id as id, a.email as email, a.password as password, a.role as role from tblAdmin a
where email = "example@sqldat.com"
union
select t.id as id, t.email as email, t.password as password, t.role as role from tblTeachers t
where email = "example@sqldat.com"
atau
SELECT * FROM (
select s.id as id, s.email as email, s.password as password, s.role as role from tblStudents s
union
select a.id as id, a.email as email, a.password as password, a.role as role from tblAdmin a
union
select t.id as id, t.email as email, t.password as password, t.role as role from tblTeachers t
) foo where email = "example@sqldat.com"