A limitation to using exclude is that, let's say there are 2 tables table_A a and table_B b that are joined. It is not possible to use an alias in the exclude part. This becomes an issue when you have a column with the same name in both tables.