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.
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á.
Abra um terminal no ambiente da VM do LabEx. O diretório padrão é
/home/labex/project.Conecte-se ao banco de dados
employees.dbusando a ferramenta de linha de comandosqlite3:sqlite3 employees.dbEste comando abre o shell SQLite, indicado pelo prompt
sqlite>.Visualize os dados na tabela
staff. Execute o seguinte comando SQL:SELECT * FROM staff;Este comando seleciona todas as colunas (
*) da tabelastaffe 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|ITEsta saída mostra o
id,nameedepartmentpara cada funcionário na tabelastaff.Para sair do shell SQLite, digite:
.quitIMPORTANTE: Certifique-se de digitar
.quitantes 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.
Conecte-se ao banco de dados
employees.db:sqlite3 employees.dbPara 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 colunadepartmenté igual aHR. A saída será:1|Alice|HR 3|Charlie|HRAgora, vamos encontrar os funcionários com um
idmaior que 3:SELECT * FROM staff WHERE id > 3;Este comando seleciona todas as colunas da tabela
staff, mas inclui apenas as linhas onde a colunaidé maior que 3. A saída será:4|David|IT 5|Eve|Marketing 6|Frank|ITSaia do shell SQLite:
.quitIMPORTANTE: Certifique-se de digitar
.quitantes 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).
Conecte-se ao banco de dados
employees.db:sqlite3 employees.dbPara 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 colunanamecomeça comA. O curinga%corresponde a zero ou mais caracteres. A saída será:1|Alice|HRPara 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 colunanamecontém a letrai. A saída será:1|Alice|HR 3|Charlie|HR 4|David|ITSaia 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.
Conecte-se ao banco de dados
employees.db:sqlite3 employees.dbPara ordenar os dados alfabeticamente por
nameem ordem crescente, use:SELECT * FROM staff ORDER BY name;Este comando seleciona todas as colunas da tabela
staffe ordena os resultados pela colunanameem 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|ITPara ordenar por
nameem ordem decrescente, use:SELECT * FROM staff ORDER BY name DESC;Este comando seleciona todas as colunas da tabela
staffe ordena os resultados pela colunanameem 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|HRSaia 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.
Conecte-se ao banco de dados
employees.db:sqlite3 employees.dbPara recuperar apenas as primeiras 3 linhas da tabela
staff, use:SELECT * FROM staff LIMIT 3;Este comando seleciona todas as colunas da tabela
staffe limita os resultados às primeiras 3 linhas. A saída será:1|Alice|HR 2|Bob|IT 3|Charlie|HRCombine
LIMITcomORDER BYpara obter os 2 primeiros funcionários ordenados pornameem ordem decrescente:SELECT * FROM staff ORDER BY name DESC LIMIT 2;Este comando seleciona todas as colunas da tabela
staff, ordena os resultados pela colunanameem ordem decrescente e limita os resultados às primeiras 2 linhas. A saída será:6|Frank|IT 5|Eve|MarketingSaia 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.


