MYSQL

 

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.

 

O comando SELECT tem a seguinte sintaxe:

 

SELECT simples:

 

SELECT (atributos a serem filtrados) FROM (tabelas a serem trabalhadas);

 

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 (atributos a serem filtrados) FROM (tabelas a serem trabalhadas) WHERE (condições);

 

Como exemplo, será um banco de dados de uma loja que possui várias franquias pelo Brasil. Com isso, segue abaixo o script de criação de tabelas e para popular o banco com algumas informações:

 
-- Script para criação das tabelas

CREATE DATABASE FranquiaLoja;
USE FranquiaLoja;

CREATE TABLE LOJA (
   idLoja INTEGER NOT NULL,
   nome VARCHAR(100) NOT NULL,
   CONSTRAINT LOJA_PK PRIMARY KEY(idLoja)
);

CREATE TABLE CLIENTE (
    idCliente INTEGER NOT NULL,
    idLoja INTEGER  NOT NULL,
    nome VARCHAR(100)  NOT NULL,
    cpf  NUMERIC(11) NOT NULL,
    rua VARCHAR(100) NOT NULL,
    cidade VARCHAR(100) NOT NULL,
    estado VARCHAR(2) NOT NULL,
    credito_limite DECIMAL(7,2) NOT NULL,
    CONSTRAINT CLIENTE_PK PRIMARY KEY(idCliente),
    CONSTRAINT CLIENTE_LOJA_FK FOREIGN KEY(idLoja) REFERENCES LOJA(idLoja)
);

-- Inserção das informações das lojas

INSERT INTO LOJA VALUES (1, 'Casas Bahia');
INSERT INTO LOJA VALUES (2, 'Ponto Frio');
INSERT INTO LOJA VALUES (3, 'Pao de acucar');
INSERT INTO LOJA VALUES (4, 'Extra');
INSERT INTO LOJA VALUES (5, 'Acai atacadista');

-- Inserção das informações dos clientes

INSERT INTO CLIENTE VALUES (1,1, 'Pedro Augusto da Rocha',
'48181884094', 'Rua Pedro Carlos Hoffman', 'Porto Alegre', 'RS', 700.00);
INSERT INTO CLIENTE VALUES (2,2, 'Antonio Carlos Mamel',
'50574326219', 'Av. Pinheiros', 'Belo Horizonte', 'MG', 3500.50);
INSERT INTO CLIENTE VALUES (3,3, 'Luiza Augusta Mhor', '59154535387',
'Rua Salto Grande', 'Niteroi', 'RJ', 4000.00);
INSERT INTO CLIENTE VALUES (4,4, 'Jane Ester', '69760415160',
'Av. 7 de setembro', 'Erechim', 'RS', 800.00);
INSERT INTO CLIENTE VALUES (5,5, 'Marcos Antonio dos Santos',
'73649809893', 'Av. Farrapos', 'Porto Alegre', 'RS', 4250.25);

Com o contexto apresentado, é possível dar um exemplo de como realizar um SELECT para filtrar dados específicos.

 
 

Em primeira mão, para visualizar todos os dados de toda a tabela, o comando seria o seguinte:

 
SELECT * FROM CLIENTE;

retornando esta tabela:

 
 

Logo, caso eu queira saber somente o nome e a cidade dos clientes que tenham o estado igual ao Rio Grande do Sul (RS), é necessário acrescentar a cláusula de condições para filtrar os dados, incluindo também operadores lógicos e de comparação:

 
SELECT CLIENTE.nome, CLIENTE.cidade
FROM CLIENTE WHERE estado = 'RS';

ou já que está sendo trabalhado com apenas uma tabela:

 
SELECT nome, cidade FROM CLIENTE WHERE estado = 'RS';

tendo como resultado esta tabela:

 
 

Por questões organizacionais, por exemplo, tem-se a necessidade de ajustar o máximo possível para deixar mais organizado a amostra de informações das consultas. Um dos exemplos básicos que pode ser importante tratar neste material é a ordenação das informações com o uso da cláusula ORDER BY, seguido do atributo que será feita a ordenação e a especificação de ordem, sendo ASC para crescente e DESC para decrescente.

 
SELECT nome, cidade FROM CLIENTE WHERE estado = 'RS' ORDER BY nome ASC;

tendo como resultado a seguinte tabela, com as informações ordenadas de forma ascendente:

 
 

Agora, caso queira ordenar as informações na ordem inversa à alfabética:

 
SELECT nome, cidade FROM CLIENTE WHERE estado = 'RS' ORDER BY nome DESC;

retornando o seguinte resultado:

 
 

Existem muitas outras alternativas para melhorar o aprendizado no comando SELECT do MySQL, pois aqui só será mostrado a parte mais básica para dar suporte no aprendizado de demais conteúdos relacionados.

 
Com intuito de fixar a aprendizagem sobre consulta de dados, sugere-se verificar o exemplo para ajudar no entendimento e aperfeiçoamento deste conteúdo.






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!!