Можно и совсем не знать SQL. Это зависит от конкретного заказчика и конкретного исполнителя.
Но, как правило системный аналитик получается из программиста, который знает очень широкий спектр языков программирования и технологий. Он должен хорошо представлять, что дает та или иная технология, что можно получить с помощью той или иной технологии.
Системный аналитик должен хорошо знать, какими технологиями и языками программирования владеют сотрудники компании, в которой он работает, чтобы хорошо представлять возможности компании, что компания может сделать быстро и на очень хорошем уровне.
Самые лучшие системные аналитики получаются из программистов, которые когда-то пытались запустить свой собственный проект и создать своё собственное программное обеспечение для пользователей и прошли все этапы разработки. То есть пытались реализовать себя в бизнесе и при этом общались с клиентами. Поэтому хорошо знают про такие вещи, как тестирование, защита от дурака и хакера, безопасность, юзабилити и т.п.
Именно такие системные аналитики лучше всего разбираются в бизнесе заказчика и хорошо объясняют программистам, что хочет заказчик, а заказчику объясняют, почему всё сделано так, а не иначе и чем это для заказчика лучше.
Советую вам почитать про менеджмент, экономику и просто обзоры про информационные технологии.
Вам, как системному аналитику, с одной стороны, придется координировать процесс разработки программного обеспечения внутри фирмы, а, с другой стороны так, быть "переводчиком" с языка заказчика на язык программистов и обратно.