Credo che questo combinerà le prime 4 query
INSERT INTO new_table (hash, pages, visits, first_visit, last_visit, goals)
SELECT A.hash, COUNT(B.id), A.visits, A.timestamp, MAX(B.timestamp), 0
FROM audience A
LEFT OUTER JOIN behaviour B ON B.hash = A.hash
GROUP BY A.hash
Non sono sicuro che l'ultimo possa essere un join
o dovrebbe essere una query unione/separata.