você selecionou os campos mas, ANTES da clausula FROMNÃO TEM VIRGULA, a virgula no SELECT é para separar os campos que você está selecionando para o resultado.
sql = "SELECT e.id, "
+ "e.id_cliente, "
+ "e.telefone, "
+ "e.cep, "
+ "e.endereco, "
+ "e.numero, "
+ "e.complemento, "
+ "e.bairro, "
+ "e.cidade, "
+ "e.estado, "
+ "c.nome_razao " // REMOVI A VIRGULA QUE NÃO FAZ PARTE
+ "FROM cli_entrega as e JOIN cliente as c "
+ "ON e.id_cliente = c.id_cgc_cpf ORDER BY c.nome_razao;";
Não para para identificar mais problemas, que podem ser de grafia dos campos e talvez até outros, mas, de cara é a virgual antes do FROM.
Uma outra dica é sobre o alias da tabela. Não precisa do "AS" Ao invés de
SELECT columns FROM table AS tb; -- com o "AS" para tabela
pode ser:
SELECT columns FROM table tb; -- sem o "AS" para tabela
No final das contas o resultado é o mesmo. Porém, é mais difícil encontrar queries com o AS para definir alias para tabelas. É mais comum para colunas.
Bom eu não entendi bem o que você quis dizer de não utilizar AS na clausa FROM? é um boa prática e todos os Frameworks de Persistências utilizam para diferenciar quando se utilizam JOIN, LEFT e RIGHT, por exemplo.
Claro se tiver dizendo que a pesquisa tem somente uma tabela, não precisa, agora se tiver JOIN, varias junções etc, pode utilizar sem medo ou não, agora fica a cargo do desenvolvedor quando tiver campos com o mesmo nome e precisam relacionar várias tabelas, pela minha experiência eu acho muito util, mas, não é obrigatório.