I have two tables that contain the same columns. One is a scratch table that I need to use as an intermediate data holder and the other one is my final table.

```
CREATE TABLE scratch_table (
    a text,
    b text
);

CREATE TABLE final_table (
    a text,
    b text
);

```

scratch\_table has these three rows:

```
  a        |  b
-----------|------------
'text a 1' | 'text b 1'
'text a 2' | 'text b 2'
'text a 3' | 'text b 3'

```

and final\_table has two rows:

```
  a        |  b
-----------|-----------
'text a 1' | 'text b 1'
'text a 4' | 'text b 4'

```

I need to write a query that takes ALL the rows in scratch\_table and inserts ONLY THOSE THAT DON'T EXIST in final\_table. At the end of final\_table should be:

```
  a        |  b
-----------|-----------
'text a 1' | 'text b 1'
'text a 2' | 'text b 2'
'text a 3' | 'text b 3'
'text a 4' | 'text b 4'

```

Only the row `'text a 4','text b 4'` was inserted from scratch\_table into final\_table because it did not exist before.

Please not that the numbers (1-4) that I've used don't indicate any sort of order, I just want to differentiate the data on each row. Thanks!