MySQL令人困惑的查询

While writing a query, I am giving teacher in where clause and then coteacher, on execution, It's not displaying any record. And when I reverse the order (1st I write coteacher and then teacher) its listed both records.

There's No indexing on the Column role_name and the Table Engine is INNODB. Why is it ?

SELECT *
FROM role
WHERE role.role_name = 'coteacher'
  OR role.role_name = 'teacher'

I don't exactly get the problem, but do you have tried this :

SELECT *
FROM role
WHERE role.role_name IN ('coteacher', 'teacher')

?

Did you try with below query :

SELECT * FROM role WHERE (role.role_name = 'coteacher' OR role.role_name = 'teacher')