Эта конкретная ситуация может показаться немного глупой, но я просто хочу знать, как мне ее решить: есть таблица (школы), и в этой таблице вы найдете всех учеников с их идентификатором школы. Порядок совершенно случайный, но с помощью оператора SELECT вы можете его отсортировать.
CREATE TABLE schools (school_id int, name varchar(32), age ...);
Теперь я хочу найти ученика по его имени (например, «% name%»), но только если он находится в определенной школе.
Я уже пробовал это:
SELECT * FROM `schools` WHERE `school_id` = 33 and `name` LIKE '%max%';
Но потом я понял, что могу также использовать такие подзапросы, как:
SELECT * FROM (SELECT * FROM `schools` WHERE `school_id` = 33) AS a
WHERE a.name LIKE '%max%';
Какой способ более эффективен / имеет более высокую производительность?