I know that you can call the method on the contract only by creating the transaction with the appropriate to field specifing the address of the contract to call.
But when you use a solidity contract to call a method on another contract, does it create a transaction or not? And why?