the ```else``` is not necessary: a loop’s ```else``` clause runs only when no ```break``` is encountered within the loop.  If there is no ```break``` statement inside the loop, ```else``` is unnecessary.  If the ```fetchall``` method returns anything, execution will hit a ```return``` skipping any code after the loop.  If the ```fetchall``` method has no rows, then the loop breaks naturally through exhaustion and will run anything after the loop without regard to being in an ```else``` clause or not.