POSTGRESQL

 

SELEÇÃO DE DADOS

 

O comando SELECT tem como principal função mostrar as informações de uma base de dados, a partir dos procedimentos requisitados pelo comando, podendo retornar informações de determinada tabela, sendo de todas as colunas ou de colunas filtradas, podendo também filtrar qualquer tipo de dado que seja definido as condições do comando SELECT.

 

A sintaxe básica é mostrada a seguir.

 
SELECT [colunas] FROM tabela
 

Para fazer a seleção de dados de acordo com alguma especificidade, tem-se o uso da cláusula WHERE que trata da filtragem de acordo com determinada condição:

 
SELECT [coluans] FROM tabela [WHERE condicao];
 

Imagine que você foi contratado por uma empresa de jogos e sua principal função é a de gerar relatórios. Há alguns meses foi criada e populada uma tabela para armazenar dados dos jogadores com os seguintes scripts.

 
 
 

-- Script para criação da tabela
  
      CREATE TABLE JOGADOR (
      id_jogador SERIAL,
      nome VARCHAR(20) NOT NULL,
      data_nascimento DATE NOT NULL,
      sexo VARCHAR(1) NOT NULL,
      email VARCHAR(40) NOT NULL,
      senha VARCHAR(16) NOT NULL,
  
      CONSTRAINT JOGADOR_PK PRIMARY KEY (id_jogador)
  );

 

-- Script para população da tabela
                  
      INSERT INTO Jogador (nome, data_nascimento, sexo, email, senha)
          VALUES
          ('Jose Carlos', '19-08-1989', 'M', 'jose@carlos.com', '123456'),
          ('Fabio Henrique', '15-02-1989', 'M', 'fabio@henrique.com', '123431'),
          ('Ana Pinheiro', '21-10-1899', 'F', 'ana@pinheiro.com', '121212'),
          ('Fernando Silva', '20-08-1999', 'M', 'fernando@silva.com', '123226'),
          ('Leandro Gomes', '25-11-1990', 'M', 'leandro@gomes.com', '111456'),
          ('Fabricio Rocha', '15-02-1998', 'M', 'fabricio@rocha.com', '144431'),
          ('Francisco Pinho', '21-10-1997', 'M', 'francisco@pinho.com', '131212'),
          ('Amanda Silva', '11-11-1995', 'F', 'amanda@silva.com', '131452');

 

Logo no primeiro dia seu chefe pediu um relatório de todos os jogadores em ordem alfabética. Para ordenar os dados é necessário utilizar a cláusula ORDER BY seguido do atributo em que será a ordenação e da especificação da ordem, ASC para crescente e DESC para decrescente.Então para gerar o relatório solicitado, seria utilizado o seguinte comando.

 
SELECT * FROM Jogador ORDER BY nome ASC;
 

O caracter * indica que será retornado todas as colunas da tabela Jogador. Caso desejasse mostrar apenas algumas colunas específicas, seria necessário substituir o caracter * pelo nome das colunas desejadas.

 

O resultado da consulta é mostrado a seguir.

 
 

Quando você entregou o relatório para seu chefe. Ele lhe disse que o usaria em uma reunião e, por isso, a senha dos jogadores não poderiam ser apresentadas.

 

Para resolver esse problema você fez uma projeção dos atributos de interesse usando a consulta abaixo.

 
SELECT nome, data_nascimento, sexo, email FROM Jogador ORDER BY nome ASC;
 

O resultado é mostrado a seguir.

 
 

Alguns dias depois, o marketing pediu um relatório do perfil de jogadores do sexo feminino para aumentarem o alcance de seus jogos. Depois de pensar um pouco, você chegou ao seguinte SELECT.

 
SELECT nome, data_nascimento, email FROM Jogador WHERE sexo = 'F' ORDER BY nome ASC;
 

O resultado é mostrado a seguir.

 
 
 

Atividade de Fixação

 

No intuito de fixar a aprendizagem iniciada por meio deste módulo e verificar como está sua compreensão sobre o mesmo, são sugeridos alguns exercícios de fixação para serem resolvidos. Clique no link de exercícios ao lado, pois será por meio dele iniciada a lista de exercícios sobre os conteúdos estudados até este momento. Boa revisão sobre os mesmos!!