Banco de Dados II – Aula 01

REVISÃO DE INSTRUÇÕES BÁSICAS DO COMANDO SELECT

SELECT POSSUI 3 RECURSOS BASICAMENTE:

  • PROJEÇÃO: Escolha das colunas que serão retornadas;
  • SELEÇÃO: Limitação de linhas que irão ser retornados;
  • JOIN: Junção entre tabelas de acordo com o modelo relacional;

SELECT BÁSICO PARA O ORACLE:

SELECT [NOME_DA_COLUNA]
FROM   [NOME_DA_TABELA]

(Obrigatório ter uma tabela para retorno)

INSTRUÇÕES BÁSICAS DO COMANDO SELECT

  • Ao utilizar o caracter “*” após o comando SELECT, será retornado todas as colunas da tabela;
  • Caso esteja utilizando JOIN, será retornado todas as colunas de todas as tabelas;

SELECIONANDO COLUNAS ESPECÍFICAS

  • Necessário declarar dentro do SELECT
SELECT [NOME_COL1], [NOME_COL2], …
FROM   [NOME_TABELA];

INSTRUÇÕES SELECT

  • NÃO SÃO CASE-SENSITIVE;
  • Os dados SÃO CASE-SENSITIVE;
  • Podem ocupar uma ou mais linhas;
  • Para melhor indentação, as cláusulas são colocadas em linhas diferentes;
  • Para o iSQL-Plus, o terminador é “;” (opcional) para um único comando;
  • Para o SQL-Plus, o terminador é “;” (obrigatório)

FORMATAÇÃO SUGESTIVA

SELECT   [NOME_COL1],
         [NOME_COL2],
         [NOME_COL3], …
FROM     [NOME_TABELA]
WHERE    [CONDIÇÃO1]
         AND  [CONDIÇÃO2]
         OR  [CONDIÇÃO3];

EXPRESSÕES ARITMÉTICAS

  • Podemos utilizar os operadores aritméticos dentro da instrução SELECT, basicamente para manipular dados do tipo numéricos e datas;
  • Basicamente são:
    • + –>  soma
    • – –> subtração
    • * –> multiplicação
    • / –> divisão
  • Utilizado para modificar (em uma SELECT, somente em visualização) os dados no retorno de uma SELECT;
  • Podem ser utilizadas na cláusula SELECT, WHERE, ORDER BY, GROUP BY (EXCETO na cláusula FROM)EXEMPLO DE UTILIZAÇÃO
SELECT   first_name,
         salary,
         salary + 300                    --> CAMPO VIRTUAL
FROM     employees;

ORDEM DOS OPERADORES

  • Caso ocorra de uma expressão aritmética conter vários operadores, a ordem é seguida pela regra matemática;
    • * e / –> primeira procedência;
    • + e – –> segunda procedência;
    • Operadores com a mesma prioridade, a operação é resolvida da esquerda para a direita;
    • Pode-se inverter a prioridade dos operadores utilizando os simbolos parênteses “(” e “)”;
    • EXEMPLOS
      10 + 300 / 50 = 16
      (10 + 300) / 50 = 6,2
      200 + 300 / 5 *4 = 440
      (200 + 300) / 5 * 4 = 400

 VALORES NULOS

  • É diferente do valor 0 (zero);
  • É diferente de “ ” (espaço em branco);
  • É a ausência total de um dado;
  • Não conseguimos fazer operações (soma, multiplicação, divisão) com valores nulos;
  • Qualquer tipo de dado pode ser nulo;
  • É possível impeder valores nulos com CONSTRAINTS (restrições);
  • As CONSTRAINTS são PRIMARY KEY e NOT NULL;
  • O ideal seria que não existisse valores nulos em nenhum campo, porém maioria das regras de negócio impedem essa teoria;
  • A utilização de campos com valores nulos em expressões aritméticas resultará em nulo;
  • Mesmo em tipos de variáveis booleanas, o nulo não pode ser comparado, ou seja, um valor nulo é diferente de TRUE e FALSE;

ALIAS

    • É um apelido que podemos dar para uma coluna, ou seja, renomeamos em tempo de execução os nomes de colunas para melhor serem apresentados ao usuário;
    • Utilizado geralmente em colunas que contém cálculo;
    • O ALIAS NÃO altera o nome real da coluna que está na tabela;
    • Coloca-se o ALIAS depois do nome da coluna e antes da virgula (que separa colunas na cláusula SELECT), opcionalmente com a palavra “AS”;
    • Em caso do alias precisar utilizer espaço em branco ou caracteres especiais (“#” ou “$”), é necessário colocar entre aspas duplas (“ ”);
    • EXEMPLO:
      SELECT  first_name AS Nome,
      salary * 12 "Salario Anual",   --> CONTÉM UM ESPAÇO NO TEXTO ENTRE ASPAS
      last_name as “sobre#nome”
      FROM   employees;

CONCATENAÇÃO

  • Serve para fazer a junção de colunas com outras colunas, e/ou variáveis, e/ou constantes;
  • É criado uma coluna virtual, que o retorno será uma string, resultando uma única coluna;
  • Concatentando uma string com nulo, o resultado será somente a string;
  • Utilize os caracteres PIPE “||” entre as colunas ou os valores que se deseja concatenar;
  • Pode-se concatenar campos com diferentes tipos (aconselhado fazer cast de dados para string);
  • EXEMPLO:
SELECT  first_name || ' ' || last_name
        AS NOME_COMPLETO
FROM    employees;

STRING / LITERAIS

  • É um campo de qualquer tipo (número, string, data) concatenado com uma string de uma SELECT;
  • Campos do tipo caractere ou data é necessário utilizar aspas simples;
  • Cada string de caractere é retornada em todas as linhas retornadas da SELECT;

DELIMITADORES

      • Quando queremos mostrar um character de comando dentro de uma string, utilizamos o delimitadores; Por exemplo, o caracter ” ‘ ” (aspas simples);
      • Para isso, utilizamos o (q), e um delimitador podendo ser [ ], , { }, (), etc.
      • EXEMPLO:
        SELECT first_name || ' tem o código da função ' || job_id
        FROM   employees;
        
        SELECT first_name || ' tem o código da função ' || job_id     
               as "Concatenação de string"
        • EXEMPLO COM QUOTA:
    SELECT job_id || q'['s]'
    FROM   employees;
    
    SELECT job_id || q'['s é a funcao de ]' || first_name
    FROM   employees;
    
  • Exercícios – Funções com Strings

    Utilize o schema HR do banco de dados Oracle 11g XE

    Exercícios – Funções com Strings
    Utilize o schema HR do banco de dados Oracle 11g XE

    1. Selecione o nome e sobrenome dos funcionários em um único campo chamado nome completo, o email todo em minusculo com a extensão @orcl.com.br chamado email_corporativo de todos os funcionários que estejam entre a letra A e M, considerando a primeira letra do nome, por ordem do nome completo;

    2. Selecione o sobrenome dos funcionários, a quantidade de caracteres do sobrenome, que a quantidade de caracteres do sobrenome esteja entre 3 a 6;

    3. Selecione o nome dos funcionários, o email do funcionário em minusculo, o salário do funcionário, a qual a primeia letra do email seja “a” e que tenha mais de 3 caracreres o email;

    4. Selecione o nome, o job_id e o salário de todos os funcionários que tenha o job_id st_man e st_clerk, mostrando a seguinte frase exemplo:Daniel, que tem a função de Fi_Account, tem o salário de $9.000,00, colocando um apelido mais amigável para esta coluna;

    5. Selecione o nome e sobrenome dos funcionários (em um único campo), a data de admissão adicionada mais 1 ano colocando um apelido de férias_previstas, mostrando a seguinte frase: Michael Rogers tem a previsão de férias programadas para 12/12/2008;

 

Vídeo1

Video 2

Video 3

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s

learningdatabase.com.br

Tecnologias em Banco de Dados Relacionais, Modelagem de dados dimencionais, tecnologias SQL Servere e Oracle

Aprendendo Programação

Algorítmos, Linguagem C, C++,Pascal, Python, R

WikiDBA

by Virendra Yaduvanshi - Microsoft SQL Server Database Architect | Consultant | Blogger | Specialist | DBA | Speaker

Blog - Fabiano Neves Amorim

SELECT * FROM [Coisas Da Minha Cabeça] WHERE dbo.fn_TempoParaPost() < dbo.fn_TempoLivre()

ROMANO DBA

Administração de Bancos de Dados

Tércio Costa, Oracle Developer, OCE SQL, ACE Associate

Guia de estudos para certificação ORACLE SQL(1Z0-047, 1Z0-051, 1Z0-061 e 1Z0-071) e PL/SQL(1Z0-144, 1Z0-146 e 1Z0-148)

Strate SQL

Data Adventures with an Architect

%d blogueiros gostam disto: