Qual é a diferença entre a programação síncrona e assíncrona (em node.js)

Eu tenho lidonodebeginner E me deparei com os dois seguintes códigos.

O primeiro:

    var result = database.query("SELECT * FROM hugetable");
    console.log("Hello World");

O segundo:

    database.query("SELECT * FROM hugetable", function(rows) {
       var result = rows;
    });
    console.log("Hello World");

Eu entendo o que eles devem fazer, eles consultam o banco de dados para recuperar a resposta para a consulta. E depoisconsole.log('Hello world').

O primeiro é supostamente um código síncrono. E o segundo é um código assíncrono.

A diferença entre as duas peças é muito vaga para mim. Qual seria o resultado?

Pesquisando em programação assíncrona não me ajudou também.

questionAnswers(8)

yourAnswerToTheQuestion