A) "SELECT Transportador.TransportadorNome, COUNT(Pedidos.PedidoID) AS “NumeroPedidos” FROM Pedidos RIGHT JOIN FROM Pedidos ON Pedidos.TransportadorID = Transportador.TransportadorID ORDER BY TransportadorNome"
Possui QUATRO erros:
i) está tentando fazer JOIN com a mesma tabela (Pedidos);
ii) RIGHT JOIN FROM não é a sintaxe correta. Depois do JOIN só deveria ter o nome da tabela;
iii) termina com ORDER BY, e a questão quer que os nomes sejam agrupados, não ordenados;
iv) o uso do COUNT sem o GROUP BY daria um erro nesse caso, pois o campo TransportadorNome não é agregado.
B) "SELECT Transportador.TransportadorNome, COUNT(Pedidos.PedidoID) AS NumeroPedidos FROM Pedidos FULL JOIN Transportador WHERE Pedidos.TransportadorID = Transportador.TransportadorID GROUP BY TransportadorNome"
Deveria ter um ON onde tem o WHERE.
C) "SELECT Transportador.TransportadorNome, COUNT(Pedidos.PedidoID) AS “NumeroPedidos” FROM Pedidos, Transportador INNER JOIN ON Pedidos.TransportadorID = Transportador.TransportadorID GROUP BY TransportadorNome"
A sintaxe também está incorreta. Uma das tabelas deveria estar depois do INNER JOIN. (por ex: FROM Pedidos INNER JOIN Transportador ON).
D) "SELECT Transportador.TransportadorNome, COUNT(Pedidos.PedidoID) AS NumeroPedidos FROM Pedidos LEFT JOIN Transportador ON Pedidos.TransportadorID = Transportador.TransportadorID ORDER BY TransportadorNome"
Os mesmos erros iii) e iv) da letra A).
E) "SELECT Transportador.TransportadorNome, COUNT(Pedidos.PedidoID) AS NumeroPedidos FROM Pedidos LEFT JOIN Transportador ON Pedidos.TransportadorID = Transportador.TransportadorID GROUP BY TransportadorNome"
É a única que não tem nenhum erro de sintaxe.