Olá, João! Tudo bem?
Sua pergunta é excelente e mostra que você está pensando criticamente sobre o código, o que é a habilidade mais importante para aprender a programar e consultar dados. Você está absolutamente certo em sua análise: os dois exemplos que você mencionou não fazem o que você quer.
Vamos esclarecer o porquê e como chegar na solução correta.
O Papel da VÍRGULA (,) e do AS
Você acertou em cheio ao desconfiar. O motivo pelo qual sua sugestão SELECT Nome, Sobrenome AS NomeCompleto FROM Clientes; não funciona para juntar os nomes é por causa de como o SQL interpreta a vírgula e o AS.
- A vírgula (,) em uma instrução SELECT serve para separar colunas distintas. Quando você escreve SELECT Nome, Sobrenome, está pedindo ao banco de dados: "me traga a coluna Nome E TAMBÉM a coluna Sobrenome".
- A cláusula AS aplica um apelido (alias) apenas à expressão que vem imediatamente antes dela. Então, no seu exemplo, o AS NomeCompleto se aplicaria somente à coluna Sobrenome. O resultado seria uma tabela com duas colunas: uma chamada Nome e outra chamada NomeCompleto (contendo os sobrenomes).
A Solução: Operador de Concatenação ||
Para juntar (ou concatenar) o conteúdo de duas colunas de texto em uma só, você precisa usar um operador específico.
No SQLite (que é o banco de dados do curso, e também em outros como PostgreSQL e Oracle), o operador para juntar textos é o || (duas barras verticais, também chamadas de "pipe").
A sintaxe correta para o que você quer fazer seria:
SELECT Nome || ' ' || Sobrenome AS NomeCompleto
FROM Clientes;
- Analisando a Solução Correta:
- Nome: Pega o conteúdo da coluna Nome (ex: "Maria").
- ||: O operador de concatenação. Ele vai "grudar" o que vem antes com o que vem depois.
- ' ': Um texto literal contendo um espaço em branco. Colocamos isso entre as colunas para que o resultado não seja "MariaSilva", mas sim "Maria Silva".
- ||: O operador novamente, para juntar o espaço com o sobrenome.
- Sobrenome: Pega o conteúdo da coluna Sobrenome (ex: "Silva").
- AS NomeCompleto: Agora sim! Depois de criar essa expressão única que junta tudo (Nome || ' ' || Sobrenome), nós damos um nome para essa nova "coluna virtual" que acabamos de criar.
Resumindo: a vírgula separa as colunas, e o || junta o conteúdo delas. Você primeiro junta tudo o que precisa com || e só depois dá um nome ao resultado final com AS.
Sua dúvida foi muito perspicaz e ajudou a esclarecer um ponto fundamental da linguagem SQL. Continue com esse ótimo trabalho de análise!
Caso essa resposta tenha solucionado sua dúvida, marque a resposta como solução!! ✅