Consultando e Filtrando Dados

SQLiteBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como consultar e filtrar dados em um banco de dados SQLite. Este laboratório prático foi projetado para iniciantes e apresentará técnicas SQL essenciais. Você aprenderá a filtrar dados usando a cláusula WHERE, corresponder padrões com LIKE, ordenar resultados com ORDER BY e limitar o número de resultados com LIMIT. Ao final deste laboratório, você será capaz de recuperar dados específicos de um banco de dados de forma eficiente.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 98%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Conecte-se ao SQLite e Visualize os Dados

Nesta primeira etapa, você se conectará a um banco de dados SQLite chamado employees.db e visualizará os dados dentro da tabela staff. Isso permite que você entenda os dados com os quais trabalhará.

  1. Abra um terminal no ambiente da VM do LabEx. O diretório padrão é /home/labex/project.

  2. Conecte-se ao banco de dados employees.db usando a ferramenta de linha de comando sqlite3:

    sqlite3 employees.db

    Este comando abre o shell SQLite, indicado pelo prompt sqlite>.

  3. Visualize os dados na tabela staff. Execute o seguinte comando SQL:

    SELECT * FROM staff;

    Este comando seleciona todas as colunas (*) da tabela staff e exibe os resultados. Você deve ver a seguinte saída:

    1|Alice|HR
    2|Bob|IT
    3|Charlie|HR
    4|David|IT
    5|Eve|Marketing
    6|Frank|IT

    Esta saída mostra o id, name e department para cada funcionário na tabela staff.

  4. Para sair do shell SQLite, digite:

    .quit

    IMPORTANTE: Certifique-se de digitar .quit antes de clicar no botão "Continuar". Caso contrário, a etapa não poderá ser verificada porque o histórico do sqlite não será registrado.

Filtrando Dados com a Cláusula WHERE

A cláusula WHERE permite que você filtre dados com base em condições específicas. Você pode usá-la para recuperar apenas as linhas que atendem aos seus critérios.

  1. Conecte-se ao banco de dados employees.db:

    sqlite3 employees.db
  2. Para recuperar apenas os funcionários do departamento HR, use o seguinte comando SQL:

    SELECT * FROM staff WHERE department = 'HR';

    Este comando seleciona todas as colunas da tabela staff, mas inclui apenas as linhas onde a coluna department é igual a HR. A saída será:

    1|Alice|HR
    3|Charlie|HR
  3. Agora, vamos encontrar os funcionários com um id maior que 3:

    SELECT * FROM staff WHERE id > 3;

    Este comando seleciona todas as colunas da tabela staff, mas inclui apenas as linhas onde a coluna id é maior que 3. A saída será:

    4|David|IT
    5|Eve|Marketing
    6|Frank|IT
  4. Saia do shell SQLite:

    .quit

    IMPORTANTE: Certifique-se de digitar .quit antes de clicar no botão "Continuar". Caso contrário, a etapa não poderá ser verificada porque o histórico do sqlite não será registrado.

Correspondência de Padrões com o Operador LIKE

O operador LIKE é usado para correspondência de padrões. É útil quando você deseja encontrar dados que correspondam a um padrão específico, em vez de um valor exato. Você usará curingas como % (zero ou mais caracteres) e _ (caractere único).

  1. Conecte-se ao banco de dados employees.db:

    sqlite3 employees.db
  2. Para encontrar funcionários cujos nomes começam com A, use o seguinte comando:

    SELECT * FROM staff WHERE name LIKE 'A%';

    Este comando seleciona todas as colunas da tabela staff, mas inclui apenas as linhas onde a coluna name começa com A. O curinga % corresponde a zero ou mais caracteres. A saída será:

    1|Alice|HR
  3. Para encontrar funcionários cujos nomes contenham a letra i, use:

    SELECT * FROM staff WHERE name LIKE '%i%';

    Este comando seleciona todas as colunas da tabela staff, mas inclui apenas as linhas onde a coluna name contém a letra i. A saída será:

    1|Alice|HR
    3|Charlie|HR
    4|David|IT
  4. Saia do shell SQLite:

    .quit

Ordenar Dados com a Cláusula ORDER BY

A cláusula ORDER BY permite que você ordene os resultados da sua consulta. Você pode ordenar em ordem crescente (padrão) ou decrescente.

  1. Conecte-se ao banco de dados employees.db:

    sqlite3 employees.db
  2. Para ordenar os dados alfabeticamente por name em ordem crescente, use:

    SELECT * FROM staff ORDER BY name;

    Este comando seleciona todas as colunas da tabela staff e ordena os resultados pela coluna name em ordem crescente (A a Z). A saída será:

    1|Alice|HR
    2|Bob|IT
    3|Charlie|HR
    4|David|IT
    5|Eve|Marketing
    6|Frank|IT
  3. Para ordenar por name em ordem decrescente, use:

    SELECT * FROM staff ORDER BY name DESC;

    Este comando seleciona todas as colunas da tabela staff e ordena os resultados pela coluna name em ordem decrescente (Z a A). A saída será:

    6|Frank|IT
    5|Eve|Marketing
    4|David|IT
    3|Charlie|HR
    2|Bob|IT
    1|Alice|HR
  4. Saia do shell SQLite:

    .quit

Limitar Resultados com a Cláusula LIMIT

A cláusula LIMIT restringe o número de linhas retornadas por uma consulta. Isso é útil quando você precisa apenas de um subconjunto dos dados.

  1. Conecte-se ao banco de dados employees.db:

    sqlite3 employees.db
  2. Para recuperar apenas as primeiras 3 linhas da tabela staff, use:

    SELECT * FROM staff LIMIT 3;

    Este comando seleciona todas as colunas da tabela staff e limita os resultados às primeiras 3 linhas. A saída será:

    1|Alice|HR
    2|Bob|IT
    3|Charlie|HR
  3. Combine LIMIT com ORDER BY para obter os 2 primeiros funcionários ordenados por name em ordem decrescente:

    SELECT * FROM staff ORDER BY name DESC LIMIT 2;

    Este comando seleciona todas as colunas da tabela staff, ordena os resultados pela coluna name em ordem decrescente e limita os resultados às primeiras 2 linhas. A saída será:

    6|Frank|IT
    5|Eve|Marketing
  4. Saia do shell SQLite:

    .quit

Resumo

Neste laboratório, você aprendeu como consultar e filtrar dados em um banco de dados SQLite. Você se conectou a um banco de dados, filtrou dados usando a cláusula WHERE, combinou padrões com o operador LIKE, ordenou resultados com ORDER BY e limitou o número de linhas retornadas usando LIMIT. Essas técnicas fornecem as habilidades fundamentais para recuperar e organizar dados de forma eficaz.