Tables and Transactions

Normal base tables are created and worked with. They are permanent and stick around until they are dropped. You can generate a new table with a CREATE TABLE statement (DDL). But you can also create a table using the output from a SQL query. To do this you issue a SELECT INTO myNewTable. This will result in creation of table myNewTable. Its contents will be the resulting values and data type from the SELECT query.
There are also tables you can generate on the fly called derived tables. These are also created from SELECT statements that are enclosed within parentheses in the FROM clause. You need to assign an alias for the derived table. The table only exists while the outer query is executing. In Oracle, they call these inline views. There are some limitations on the type of SQL you can put into a derived table. For example, you cannot have an ORDER BY.
When making changes to data within tables, you can group operations into units called transactions. You can explicitly control when these groups are created and when their changes out made permanent. You start this up with a BEGIN TRANSACTION. Then you issue DML statements such as INSERT, UPDATE, and/or DELETE. When done, you can COMMIT TRANSACITON to make all changes final. Or you can ROLLBACK to undo everything in the transaction.