Database / SQLite Interview questions
What is the difference between a SQLite VIEW and a TABLE?
A TABLE physically stores its own rows on disk; a VIEW stores no data of its own
at all — it's just a saved query definition that's re-executed against the underlying tables every time
you select from it.
| TABLE | VIEW |
| Stores its own physical data. | Stores only a query definition; no physical data. |
| Can be directly inserted into, updated, deleted from. | Generally read-only (some simple views can be updatable, with restrictions). |
| Data persists independently of any query. | Always reflects the current state of the underlying tables. |
CREATE TABLE t (id INTEGER, name TEXT); -- stores data CREATE VIEW v AS SELECT id, name FROM t; -- stores only the query
Because a view has no storage of its own, it can never become "stale" relative to the tables it's built from — there's nothing to refresh, since the underlying query simply runs fresh every time.
More Related questions...