Cnosultas Fundamentais com SELECT no Oracle Database
O comando SELECT em SQL é essencial para extrair informações de tabelas no Oracle Database. A estrutura básica segue o padrão:
SELECT [DISTINCT] coluna|expressão [alias] [, ...] FROM tabela;
A cláusula SELECT determina quais colunas são recuperadas, enquanto FROM especifica a tabela de origem.
Recuperando Todas as Colunas
Para selecionar todos os dados de uma tabela, utiliza-se o asterisco (*):
SELECT * FROM departamentos;
Resultado exemplo:
| ID_DEPTO | NOME_DEPTO | GERENTE_ID | LOCAL_ID |
|---|---|---|---|
| 10 | Administração | 101 | 500 |
| 20 | Tecnologia | 102 | 501 |
Selecionando Colunas Específicas
Especifique as colunas desejadas após SELECT:
SELECT id_depto, local_id FROM departamentos;
Resultado:
| ID_DEPTO | LOCAL_ID |
|---|---|
| 10 | 500 |
| 20 | 501 |
Diretrizes para Escrever Consultas SQL
- SQL é insensível a maiúsculas e minúsculas.
- Consultas podem ser escritas em múltiplas linhas para melhor legibilidade.
- Palavras-chave não podem ser abreviadas ou divididas entre linhas.
Operadores Aritméticos
Utilize operadores matemáticos em expressões com números ou datas:
| Operador | Descrição |
|---|---|
| + | Adição |
| - | Subtração |
| * | Multiplicação |
| / | Divisão |
Exemplo:
SELECT nome_funcionario, salario, salario + 200 AS ajuste FROM funcionarios;
Resultado:
| NOME_FUNCIONARIO | SALARIO | AJUSTE |
|---|---|---|
| Ana | 8000 | 8200 |
| Bruno | 4500 | 4700 |
Precedência de Operadores
Multiplicação e divisão têm precedência sobre adição e subtração. Parênteses alteram a ordem de execução:
SELECT nome_funcionario, salario, 12 * (salario + 3000) AS salario_anual FROM funcionarios;
Resultado:
| NOME_FUNCIONARIO | SALARIO | SALARIO_ANUAL |
|---|---|---|
| Ana | 8000 | 132000 |
| Bruno | 4500 | 90000 |
Tratando Valores Nulos
Valores nulos representam dados desconhecidos ou não definidos, não espaço em branco ou zero. Expressões aritméticas com nulos resultam em nulo:
SELECT nome_funcionario, salario, salario + comissao AS total FROM funcionarios;
Se comissão for nula para um funcionário, o total também será nulo.
Aliases de Colunas
Use aliases para renomear colunas na saída, facilitando leitura:
SELECT nome_funcionario AS nome, comissao AS comissao_pct FROM funcionarios;
Aliases podem incluir espaços se entre aspas duplas:
SELECT nome_funcionario "Nome Completo", salario * 12 "Salário Anual" FROM funcionarios;
Operador de Concatenação
O operador || une colunas ou strings para criar uma única coluna:
SELECT nome_funcionario || cargo AS identificador FROM funcionarios;
Resultado exemplo: "AnaGerente".
Strings em Consultas
Strings literais devem ser cercadas por aspas simples e podem ser concatenadas:
SELECT nome_funcionario || ' é ' || cargo AS descricao FROM funcionarios;
Resultado: "Ana é Gerente".
Eliminando Linhas Repetidas
Por padrão, todas as linhas são retornadas. Use DISTINCT para remover duplicatas:
SELECT DISTINCT departamento_id FROM funcionarios;
Isso garante que cada departamento apareça apenas uma vez no resultado.
Comandos SQL*Plus
SQL*Plus é uma ferramenta para interagir com o Oracle Database, permitindo executar comandos SQL e comendos específicos do ambiente.
Exemplo: use DESCRIBE para ver a estrutura de uma tabela:
DESC nome_tabela;
Isso exibe informações sobre colunas, como nomes, tipos e restrições de nulidade.