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 Owners (first_name VARCHAR, name VARCHAR)
TABLE: CREATE TABLE Dogs (first_name VARCHAR, name VARCHAR)
TABLE: CREATE TABLE Professionals (first_name VARCHAR, name VARCHAR)

### Question ###
Which first names are used for professionals or owners but are not used as dog names?

### Accurate SQL ###

SELECT first_name FROM Professionals UNION SELECT first_name FROM Owners EXCEPT SELECT name FROM Dogs