Hi,

Inserting into a table can be as simple as...

Code:
insert into mytable (mycolumn) values (1);
Obviously, it will get more complicated the more fields you have, but thats the essence of an insert statement in SQL. Murmandamus is spot on with his statements about updateable views and theoretically, Delphi should handle it because a view is a server side thing, so Delphi should just see it as another table. But, I'd like to add that it's not a good idea to update through views... even if you can, because as Mumandamus has pointed out, not every database engine supports it.

As he said, you need to insert the data in the correct order which will be governed by things like foreign keys and stuff (a foreign key is a reference in one table to the primary key, normally, in another table. They can sometimes have constraints on them to protect the integrity of the database, so you can't have a reference to a key value which doesn't exist for example).

The joins will come into play when you are reading the data.

Lets say you have two tables... table1 and table2, you want column1 from table1 and column2 from table2 and they are linked by another field, link1 which exists in both tables, the SQL would be something like this:-

Code:
select t1.column1,t2.column2 from table1 t1,table2 t2 where (t2.link1=t1.link1)
The t1 and t2 are aliases assigned to the tables to make it easier to type long statements. What this does is return column1 from table1, column2 from table2 where the link1 field in table2 matches that same field in table1. If you have a record in say table1 which doesn't have a record in table2 with the same link1 value, it will not be returned.

This is where you need a join. Lets say you want to return all the records in table1 and the corresponding records in table2 IF (and this is the important IF) there is a record. You'd need to use something like this:-

Code:
select t1.column1,t2.column2 from table1 t1 left outer join t2 on (t2.link1=t1.link1)
There is a right join, but as I understand it, in most cases, the default is a right join.

I hope that helps and doesn't confuse you too much :-) If you need more info, feel free to ask and I'll see if I can come up with an example or two to clarify the situation.