Второй параметр connection.query() и есть callback-функция.
PHP - синхронный, в данном случае он будет ждать выполнения SQL и потом получит данные.
Node.js - асинхронный, он в отдельном потоке выполняет SQL (и, когда выполнится, вызовет callback-функцию), а во втором идет дальше, не дожидаясь окончания выполнения SQL. Поэтому во втором потоке console.log выдаст null, а в первом - данные.