Guia Essencial DQL SQL: Comandos, Funções e Exemplos

Classificado em Computação

Escrito em em português com um tamanho de 5,56 KB

DQL - Linguagem de Consulta de Dados

Comandos DQL Essenciais

SELECT

LIKE

Utilizado para padronização de caracteres em buscas.

  • Ex: SELECT * FROM clientes WHERE cli_nome LIKE 'F%';
    Esta linha indica que é para mostrar todas as tuplas (registros) em que os nomes comecem com 'F'.
  • Ex: SELECT * FROM clientes WHERE cli_nome LIKE '%Ferreira';
    Esta linha indica que é para mostrar todas as tuplas (registros) em que os nomes terminem com 'Ferreira'.
  • Ex: SELECT * FROM clientes WHERE cli_nome LIKE '%Rogerio%';
    Esta linha indica que é para mostrar todas as tuplas (registros) em que os nomes contenham 'Rogerio'.
BETWEEN...AND...

Lista registros entre dois valores.

  • Ex: SELECT * FROM clientes WHERE cli_codigo BETWEEN 2 AND 5;
    Obs: É a mesma coisa que (SELECT * FROM clientes WHERE cli_codigo >= 2 AND cli_codigo <= 5;).
    Com a linha acima, irá mostrar todas as tuplas em que o código seja maior ou igual a 2 e menor ou igual a 5, ou seja, entre 2 e 5.
  • Ex: SELECT * FROM clientes WHERE cli_codigo NOT BETWEEN 2 AND 5;
    Obs: É a mesma coisa que (SELECT * FROM clientes WHERE cli_codigo < 2 OR cli_codigo > 5;).
    Com a linha acima, irá mostrar todas as tuplas em que o código seja menor que 2 OU maior que 5.
IN

Lista valores pré-definidos.

  • Ex: SELECT * FROM clientes WHERE cli_codigo IN (2, 7, 8);
    Obs: É a mesma coisa que (SELECT * FROM clientes WHERE cli_codigo = 2 OR cli_codigo = 7 OR cli_codigo = 8;).
    Lista todas as tuplas em que o código seja igual a 2, 7 ou 8.
  • Ex: SELECT * FROM clientes WHERE cli_codigo NOT IN (2, 7, 8);
    Obs: É a mesma coisa que (SELECT * FROM clientes WHERE cli_codigo <> 2 AND cli_codigo <> 7 AND cli_codigo <> 8;).
    Lista todas as tuplas em que o código seja diferente de 2, 7 e 8.
DISTINCT

A cláusula DISTINCT elimina duplicidades em resultados de consulta.

  • Ex: SELECT DISTINCT cli_cidade FROM clientes;

Funções de Agregação

AVG

Este comando calcula o valor médio de uma determinada coluna.

  • Ex: SELECT AVG(cli_salario) AS media_salarial FROM clientes;

COUNT

Este comando conta as linhas de uma tabela ou os valores não nulos em uma coluna.

  • Ex: SELECT COUNT(cli_codigo) FROM clientes;
  • Ex: SELECT COUNT(*) AS quantidade_registros FROM clientes;

SUM

Este comando calcula a somatória de todos os valores de uma coluna numérica.

  • Ex: SELECT SUM(cli_salario) AS valor_total FROM clientes;
  • Ex: SELECT SUM(cli_salario) AS valor_total FROM clientes WHERE cli_sexo = 'F';

MIN

Esta função SQL retorna o valor mínimo encontrado em uma coluna.

  • Ex: SELECT MIN(cli_salario) AS valor_minimo FROM clientes;
  • Ex: SELECT MIN(cli_salario) AS salario_minimo FROM clientes WHERE cli_codigo IN (1, 3);

MAX

Esta função SQL retorna o valor máximo encontrado em uma coluna.

  • Ex: SELECT MAX(cli_salario) AS valor_maximo FROM clientes;
  • Ex: SELECT MAX(cli_salario) AS salario_maximo FROM clientes WHERE cli_codigo IN (1, 3);

Funções Escalares de Texto

UPPER

Esta função SQL converte para maiúsculas todos os caracteres de uma string.

  • Ex: SELECT cli_codigo, UPPER(cli_nome) AS Nome, cli_cidade, cli_sexo, cli_email, cli_salario FROM clientes;

LOWER

Esta função SQL converte para minúsculas todos os caracteres de uma string.

  • Ex: SELECT cli_codigo, UPPER(cli_nome) AS Nome, cli_cidade, cli_sexo, LOWER(cli_email), cli_salario FROM clientes;

CONCAT

Esta função reúne em uma única sequência de caracteres uma ou mais colunas (atributos de tabela).

  • MySQL (CONCAT):
    • Ex: SELECT CONCAT(cli_nome, cli_sexo) FROM clientes;
    • Ex: SELECT CONCAT(cli_nome, ' - ', cli_sexo) AS 'Nome do Cliente e Sexo', cli_cidade AS Cidade FROM clientes;
  • Firebird, PostgreSQL e Oracle (||):
    • Ex: SELECT cli_nome || cli_sexo FROM clientes;
    • Ex: SELECT cli_nome || ' - ' || cli_sexo AS "Nome e sexo" FROM clientes;
  • SQL Server (+):
    • Ex: SELECT cli_nome + cli_sexo FROM clientes;
    • Ex: SELECT cli_nome + ' - ' + cli_sexo AS 'Nome e Sexo' FROM clientes;

Entradas relacionadas: