Below is the list of tables from the database along with their columns and datatype. Need to generate an accurate SQL query for the question.
Only use the columns present in the respective table. Only use the columns which are required to generate the SQL query. Only use table joins if required and not otherwise.

### Tables ###
TABLE: CREATE TABLE table_203_594 ( id number, "canal" text, "length (miles)" number, "locks" number, "max length (ft)" number, "width (ft)" number, "year opened" number, "year abandoned" number, "year restored" number )

### Question ###
how many more locks does caledonian canal have compared to aberdeenshire canal ?

### Accurate SQL ###

SELECT (SELECT "locks" FROM table_203_594 WHERE "canal" = 'caledonian canal') - (SELECT "locks" FROM table_203_594 WHERE "canal" = 'aberdeenshire canal')