Aprendendo a usar o Comando SELECT
A sintaxe básica da instrução de consulta em SQL é:
SELECT coluna1, coluna2,....colunaN FROM tabela;
A consulta busca dados de determinadas tabelas, como as exemplificadas abaixo:
Agora, veja um exemplo de instrução de consulta em SQL (modelo básico):
SELECT id_aluno, nome, email, dtcadastro FROM aluno;
Comando básico:
SELECT columns FROM table;
Em sua forma mais simples, um Comando SELECT deve incluir o seguinte:
- Uma cláusula SELECT que especifica as colunas a serem exibidas.
- Uma cláusula FROM que especifica as tabelas que possuem as colunas listadas na cláusula SELECT.
INSCREVA-SE AGORA: Formação Full Stack Developer (Formação EAD completa e com certificado)
Na sintaxe
- SELECT: é uma lista de uma ou mais colunas.
- Column: seleciona a coluna nomeada.
- FROM table: especifica a tabela que contém as colunas.
Comando SELECT e seleção de colunas
Selecionando todas as Colunas
SELECT * FROM ALUNO;
Selecionando todas as Colunas e todas as Linhas
Você pode exibir todas as colunas de dados de uma tabela colocando um asterisco (*) logo após a palavra-chave SELECT. No exemplo acima, a tabela de ALUNOS possui quatro colunas: id_aluno, nome, email, dtcadastro.
Você também pode exibir todas as colunas da tabela listando-as depois da palavra-chave SELECT. Por exemplo, o seguinte comando SQL, como no exemplo acima, também exibe todas as colunas e todas as linhas da tabela ALUNO:
SELECT id_aluno, nome, email, dtcadastro FROM aluno;
Selecionando Colunas Específicas
SELECT id_aluno, nome FROM aluno;
Selecionando Colunas Específicas e todas as Linhas
Você pode usar o Comando SELECT para exibir colunas específicas da tabela especificando os nomes das colunas, separados por vírgulas. O exemplo acima exibe todos os ids e nomes da tabela ALUNO.
Na cláusula SELECT, especifique as colunas que você quer ver, na ordem na qual você quer que elas sejam mostradas. Por exemplo, para exibir nome antes do id do aluno, você utiliza o seguinte comando:
SELECT id_aluno, nome FROM aluno;
Padrões de Cabeçalho de Colunas
O comportamento dos cabeçalhos de colunas do SELECT depende do fabricante. Normalmente o cabeçalho é o nome da coluna, mas ele pode ser maiúsculo, minúsculo, centralizado, alinhado a direita ou à esquerda. Ainda pode ser truncado para o tamanho da coluna ou não.
Cabeçalhos de colunas tipo caracter e data podem ser truncados, enquanto cabeçalhos de colunas numéricas não podem ser truncados. Você pode substituir os cabeçalhos de colunas por um alias (apelido).
SELECT nome FROM aluno;
O que é um alias de coluna e como utilizá-lo
Para exibir o resultado de uma consulta, o SQL normalmente utiliza o nome da coluna selecionada como seu cabeçalho. Em muitos casos, este título pode não ser descritivo. Isso pode dificultar o seu entendimento. Para facilitar seu trabalho, você pode mudar o cabeçalho de uma coluna utilizando um alias de coluna.
Especifique o alias depois da coluna na lista da cláusula SELECT utilizando a palavra ‘AS’. O default de exibição dos cabeçalhos depende do fabricante do banco de dados. Se o alias possui espaços, caracteres especiais (como # ou $), ou deve diferenciar maiúsculas e minúsculas, coloque o alias entre aspas duplas (” “).
Utilizando Alias de Colunas
SELECT nome as nome_aluno FROM aluno;
O exemplo exibe o nome de todos os alunos. Observe que a palavra chave AS foi utilizada antes do nome do alias da coluna.
Comando SELECT e Concat
Você pode unir colunas do tipo caractere (CHAR ou VARCHAR) para criar uma expressão de caracteres usando o Operador de Concatenação (concat). Colunas em qualquer lado do operador são combinadas para fazer uma única coluna de saída.
SELECT concat ('O aluno ', nome, ' possui email ', email) as "Email" FROM aluno;
No exemplo, são concatenadas as colunas nome e email, sendo que o resultado recebe o alias de “Email”. Observe que o nome do aluno e o email são combinados, obtendo-se uma única coluna de saída.
ASSISTA: MasterClass da TargetTrust te ensina a desenvolver rapidamente usando Oracle APEX
Linhas Duplicadas em banco de dados SQL
SELECT nome FROM aluno;
A menos que você indique o contrário, o SQL exibe os resultados de uma consulta sem eliminar as linhas duplicadas. O exemplo acima exibe todos os nomes de alunos a partir da tabela ALUNOS. Observe que os nomes dos alunos são repetidos.
Como eliminar linhas duplicadas no SQL
SELECT DISTINCT nome FROM aluno;
Para eliminar linhas duplicadas do resultado da consulta, inclua a palavra chave DISTINCT imediatamente após a palavra SELECT.
Você pode especificar múltiplas colunas depois da palavra DISTINCT. O qualificador DISTINCT afeta todas as colunas selecionadas, e o resultado representa uma combinação distinta das colunas.
SELECT DISTINCT id_aluno, nome FROM aluno;
Expressões Aritméticas e Operadores Aritméticos
Você pode precisar modificar a forma como os dados são exibidos, por exemplo, executando cálculos. Isto é possível através do uso de expressões aritméticas. Uma expressão aritmética pode conter nomes de colunas, valores numéricos constantes e os operadores aritméticos.
Utilizando Operadores Aritméticos
SELECT nome_curso, preco, format(preco/2, 2) FROM curso;
O exemplo acima utiliza o operador de divisão para calcular um desconto de 50% para todos os cursos e mostrar uma nova coluna preco/2 na tela.
Note que a coluna resultante preco/2 não é uma nova coluna da tabela CURSO, sendo utilizada somente na exibição.
Precedência dos Operadores
Se uma expressão aritmética possui mais de um operador, os de multiplicação e divisão são avaliados primeiro. Se os operadores dentro de uma expressão são da mesma prioridade, então a avaliação é feita da esquerda para direita.
Você pode usar parênteses para forçar a expressão colocada dentro deles a ser avaliada primeiro.
SELECT nome_curso, preco, 2*preco+100 FROM curso;
O exemplo acima exibe o nome do curso e o preço do curso aumentado em 100% + R$ 100,00. Observe que a multiplicação é executada antes da adição.
Dica: Use parênteses para reforçar a ordem padrão de precedência e melhorar a clareza do comando. Por exemplo, a expressão acima poderia ser escrita desta forma, sem mudança no resultado: (2*preco)+100.
Utilizando Parênteses
SELECT nome_curso, preco, 12*(preco+100) FROM curso
Você pode alterar as regras de precedência usando parênteses para especificar a ordem na qual devem ser executados os operadores. Devido ao uso dos parênteses, a adição recebe prioridade sobre a multiplicação.
Valores nulos em expressões aritméticas
Se o valor de alguma coluna em uma expressão aritmética é nulo, o resultado da expressão também é nulo. Por exemplo, se você tentar executar uma divisão por zero, você obtém um erro. Porém, se você divide um número por nulo, o resultado é nulo ou desconhecido.
Banco de dados: conheça os cursos mais comprados da TargetTrust
Formação Banco de Dados Oracle – EAD (120h)
Recomendados para quem deseja construir uma carreira completa especializada em Banco de Dados.
Curso Introdução a Banco de Dados e SQL – EAD (21h) dentro da Formação Full Stack Developer
Ambos recomendados para quem deseja ser Desenvolvedor na área.
Deseja mais opções? Clique aqui e conheça todas as melhores formações em tecnologia – EAD e presenciais – da TargetTrust