DBQuery is inherited from DBTable and contains the same primary functionality. The main difference is that it does not have a table property but an SQL/Query property. It is possible to use a DBQuery in crud applications, but then you must supply the SQL for each operation. The most convenient way is to use a DBCrud component. However, the Query is actually designed for reporting and displaying the data in a DBGrid. Crud operations are easier performed by using a DBTable, although with a DBQuery you can have a complex query and still have a basic Crud. But this will be rare.