How eager loading of Doctrine entity relations influences the SQL executions

Code
<?php

use PHPSnippets\Db\Entity\SubTest;
use 
Doctrine\ORM\Mapping\ClassMetaData;
use 
Doctrine\DBAL\Logging\DebugStack;
use 
Doctrine\DBAL\Logging\SQLLogger;

// Create and add logger
$logger = new DebugStack();
$entityManager->getConnection()
    ->
getConfiguration()
    ->
setSQLLogger($logger);

// Function to write readable SQL output from logs
$showLogs = function(SQLLogger $logger) {
    foreach (
$logger->queries as ['sql' => $query]) {
        echo 
SqlFormatter::format($query).PHP_EOL;
    }
    
// Clear logs
    
$logger->queries = [];
};

$query $entityManager->createQuery(
    
sprintf('SELECT t FROM %s t'SubTest::CLASS)
);

// Object relation with lazy loading
$subTests $query->execute();

dump($subTests[0]->test);

$showLogs($logger);
$entityManager->clear();


// Object relation with eager loading
// Usable with ManyToOne and OneToOne
$query->setFetchMode(SubTest::class, 'test'ClassMetaData::FETCH_EAGER);
$subTests $query->execute();

dump($subTests[0]->test);
$showLogs($logger);
Result
Test {#412
+__isInitialized__: false
+id: 3
…2
}

SELECT 
s0_.id AS id_0,
s0_.name AS name_1,
s0_.test_id AS test_id_2
FROM
sub_test s0_

Test {#424
+__isInitialized__: true
+id: 3
+name: "bar"
+creationDate: DateTime @1406093238 {#439
date: 2014-07-23 07:27:18.0 Europe/Berlin (+02:00)
}
+subTests: PersistentCollection {#440
-snapshot: []
-owner: Test {#424 …2}
-association: array:15 [ …15]
-em: EntityManager {#342 …11}
-backRefFieldName: "test"
-typeClass: ClassMetadata {#390 …}
-isDirty: false
#collection: ArrayCollection {#441
-elements: []
}
#initialized: false
}
…2
}

SELECT 
s0_.id AS id_0,
s0_.name AS name_1,
s0_.test_id AS test_id_2
FROM
sub_test s0_

SELECT 
t0.id AS id_1,
t0.name AS name_2,
t0.creation_date AS creation_date_3
FROM
test t0
WHERE
t0.id IN (?)