Все, что работает на вашем компьютере, может быть закодировано на языке ассемблера.Если база данных SQL может работать на вашем компьютере, то она может быть закодирована в сборке.
Это может быть нелепо сложно сделать.
Пример SQL, который вы упомянули, не так уж далекиз того, что происходит, когда C или другие скомпилированные языки переводятся в машинный код.Современные оптимизирующие компиляторы не переводят ваш код C непосредственно в сборку.Они используют одно (или несколько) промежуточных представлений, которые проще выполнять для оптимизации.Это многоэтапный процесс, и фактический вывод сборки не является основной частью сложности.
Если вы посмотрите на это так, ваш вариант SQL не сильно отличается.Вы можете представить себе препроцессор SQL, который создает собственный код из MAL в достаточно фиксированной среде (в частности, в схеме).Что-то в этом роде может иметь смысл добавить расширения к этому диалекту SQL, чтобы позволить встроенную сборку (например, для агрегатных функций).И делать все это вручную (то есть без самого препроцессора) было бы возможно.
Однако вы теряете всю переносимость и гибкость, которые вы получаете от интерпретатора SQL времени выполнения, придется перекомпилировать каждый раз, когда ваша схема изменяется,оптимизация, зависящая от данных, становится почти невозможной и т. д. Таким образом, ситуации, в которых это было бы полезно, я считаю, очень ограничены.(То же самое относится и к другим языкам, которые обычно запускаются через виртуальную машину или интерпретатор - компиляция их до нативного кода обычно имеет серьезные ограничения.)