Comando SELCT

Comando SELECT: O que é e como usar para consultar dados em SQL [2023]

A linguagem SQL foi criada para padronizar comandos ao trabalhar com bancos de dados de diferentes sistemas, como MySQL, Oracle e SQL Server. Um dos recursos mais básicos e úteis dessa tecnologia é o Comando SELECT.
Para extrair dados a partir de um banco de dados você irá precisar utilizar sintaxes do Comando SELECT em SQL (Structured Query Language), como também é possível que você precise restringir as colunas que serão exibidas.
Este post é voltado para quem está iniciando no mundo do banco de dados relacional e na linguagem SQL. O foco aqui é ensinar esse recurso básico de modo bastante simples. Após a leitura, você saberá exatamente o que é e para que serve o Comando SELECT, bem como aprenderá a usar comandos plsql para executar comandos SQL.

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

Curso Oracle APEX – EAD (42h)

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

 

plugins premium WordPress