Задача
Вы хотите проверить строки на равенство или узнать, какая из них является первой лексически.
Решение
Используйте оператор сравнения.
Обсуждение
К строкам можно применять обычные операторы проверки на равенство и неравенство:
SELECT name, name = 'lead', name != 'lead' FROM metal;
+------------+-----------------+------------------+
| name | name = 'lead' | name != 'lead' |
+------------+-----------------+------------------+
| copper | 0 | 1 |
| gold | 0 | 1 |
| iron | 0 | 1 |
| lead | 1 | 0 |
| mercury | 0 | 1 |
| platinum | 0 | 1 |
| silver | 0 | 1 |
| tin | 0 | 1 |
+-----------+------------------+------------------+
Также можно использовать операторы сравнения, такие как <, <=, >= и >, для проверки лексического порядка строк:
SELECT name, name < 'lead', name > 'lead' FROM metal;
+----------+-----------------+----------------+
| name | name < 'lead' | name > 'lead' |
+----------+-----------------+----------------+
| copper | 1 | 0 |
| gold | 1 | 0 |
| iron | 1 | 0 |
| lead | 0 | 0 |
| mercury | 0 | 1 |
| platinum | 0 | 1 |
| silver | 0 | 1 |
| tin | 0 | 1 |
+----------+-----------------+----------------+
Для того чтобы определить, попадает ли строка в определенный диапазон значений, можно использовать два сравнения:
SELECT name, 'iron' <= name AND name <= 'platinum' FROM metal;
+-----------+------------------------------------------------+
| name | 'iron' <= name AND name <= 'platinum' |
+-----------+------------------------------------------------+
| copper | 0 |
| gold | 0 |
| iron | 1 |
| lead | 1 |
| mercury | 1 |
| platinum | 1 |
| silver | 0 |
| tin | 0 |
+-----------+-----------------------------------------------+
Для проверки вхождения в диапазон можно использовать и оператор BETWEEN. Следующий запрос аналогичен предыдущему:
SELECT name, name BETWEEN 'iron' AND 'platinum' FROM metal;