MySQL full outer join workaround
A MySQL expert offers a workaround for the lack of syntax support for full outer joins.
SELECT * FROM table1 JOIN table2 ON table1.id = table2.id WHERE (table1.field1, table1.field2, table1.field3) != (table2.field1, table2.field2, table3.field3)
If the tables have no ID field in common, you might need a full outer join to find the differences between the tables. MySQL doesn't offer syntax for a full outer join, but you can implement one using the union of a left and a right join. Since no indexes are likely to be used, expect for these results to take a long time on tables of any significant size.
SELECT * FROM table1 LEFT JOIN table2 ON (table1.field1, table1.field2, table1.field3) = (table2.field1, table2.field2, table3.field3) WHERE table2.field1 IS NULL UNION SELECT * FROM table1 RIGHT JOIN table2 ON (table1.field1, table1.field2, table1.field3) = (table2.field1, table2.field2, table3.field3) WHERE table1.field1 IS NULL