QSqlQuery это самостоятельный класс (без предка).
Он позволяет сделать sql запрос к базе данных и получить набор полей и строк (таблицу) в виде объекта класса QSqlResult.
Таблица QSqlResult находится в приватном (закрытом извне) классе QSqlQueryPrivate, доступ к которому будет происходить через QSqlQuery связывающие функции ( next(), previous(), first(), last() и т.д.).
QSqlResult это абстрактный класс. Надо понимать, что QSqlResult через драйвер базы данных (у нас SQLITE) будет подцеплять класс наследник - QSQLiteResult через наследование от QSqlCachedResult и далее от QSqlResult.
Таким образом будет выполняться QSQLiteResult::exec(), а не QSqlResult.exec()
В реализации QSQLiteResult разбираться очень сложно и долго. По сути там исходники SQLITE и Qt Sources собираются вместе. Оставим это развлечение на будущее.
Этот класс используется в модели данных QSqlQueryModel.