Использование оператора IF () и добавление двух столбцов для управления порядком сортировки:
SELECT t1.id, t2.name, t2.manufacturer,
IF(LEFT(t2.name, 1) BETWEEN '0' AND '9', 2, 1) as sortOrder1,
IF(t2.name LIKE 'The _%', SUBSTRING(t2.name FROM 5), t2.name) as trimmedName
FROM db.t1
LEFT JOIN db.t2 ON t1.id = t2.id
WHERE year = '2011'
ORDER BY sortOrder1, trimmedName;
Знак подчеркивания в шаблоне для оператора LIKE соответствует любому отдельному символу и используется для проверки того, чтовозвращаемая подстрока не будет нулевой.
Если вы не хотите, чтобы дополнительные столбцы были в вашем конечном выводе, оберните вышеприведенный оператор выбора внутри другого:
SELECT id, name, manufacturer FROM ([select statement above]) a;