Consultar y Filtrar Datos

SQLiteBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá cómo consultar y filtrar datos en una base de datos SQLite. Este laboratorio práctico está diseñado para principiantes y le introducirá a técnicas SQL esenciales. Aprenderá cómo filtrar datos utilizando la cláusula WHERE, hacer coincidir patrones con LIKE, ordenar los resultados con ORDER BY y limitar el número de resultados con LIMIT. Al final de este laboratorio, podrá recuperar datos específicos de una base de datos de manera eficiente.

Conectarse a SQLite y Ver los Datos

En este primer paso, se conectará a una base de datos SQLite llamada employees.db y verá los datos dentro de la tabla staff (personal). Esto le permite comprender los datos con los que trabajará.

  1. Abra una terminal en el entorno de la VM (máquina virtual) de LabEx. El directorio predeterminado es /home/labex/project.

  2. Conéctese a la base de datos employees.db utilizando la herramienta de línea de comandos sqlite3:

    sqlite3 employees.db
    

    Este comando abre el shell de SQLite, indicado por el prompt sqlite>.

  3. Vea los datos en la tabla staff. Ejecute el siguiente comando SQL:

    SELECT * FROM staff;
    

    Este comando selecciona todas las columnas (*) de la tabla staff y muestra los resultados. Debería ver la siguiente salida:

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

    Esta salida muestra el id, el name (nombre) y el department (departamento) de cada empleado en la tabla staff.

  4. Para salir del shell de SQLite, escriba:

    .quit
    

    IMPORTANTE: Asegúrese de ejecutar .quit antes de hacer clic en el botón "Continue" (Continuar). De lo contrario, el paso no se podrá verificar porque el historial de sqlite no se registrará.

Filtrar Datos con la Cláusula WHERE

La cláusula WHERE le permite filtrar datos basándose en condiciones específicas. Puede usarla para recuperar solo las filas que cumplan con sus criterios.

  1. Conéctese a la base de datos employees.db:

    sqlite3 employees.db
    
  2. Para recuperar solo los empleados del departamento de HR (Recursos Humanos), use el siguiente comando SQL:

    SELECT * FROM staff WHERE department = 'HR';
    

    Este comando selecciona todas las columnas de la tabla staff, pero solo incluye las filas donde la columna department es igual a HR. La salida será:

    1|Alice|HR
    3|Charlie|HR
    
  3. Ahora, busquemos empleados con un id mayor que 3:

    SELECT * FROM staff WHERE id > 3;
    

    Este comando selecciona todas las columnas de la tabla staff, pero solo incluye las filas donde la columna id es mayor que 3. La salida será:

    4|David|IT
    5|Eve|Marketing
    6|Frank|IT
    
  4. Salga del shell de SQLite:

    .quit
    

    IMPORTANTE: Asegúrese de ejecutar .quit antes de hacer clic en el botón "Continue" (Continuar). De lo contrario, el paso no se podrá verificar porque el historial de sqlite no se registrará.

Búsqueda de Patrones con el Operador LIKE

El operador LIKE se utiliza para la coincidencia de patrones (pattern matching). Es útil cuando desea encontrar datos que coincidan con un patrón específico, en lugar de un valor exacto. Utilizará comodines (wildcards) como % (cero o más caracteres) y _ (un solo carácter).

  1. Conéctese a la base de datos employees.db:

    sqlite3 employees.db
    
  2. Para encontrar empleados cuyos nombres comiencen con A, use el siguiente comando:

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

    Este comando selecciona todas las columnas de la tabla staff, pero solo incluye las filas donde la columna name comienza con A. El comodín % coincide con cero o más caracteres. La salida será:

    1|Alice|HR
    
  3. Para encontrar empleados cuyos nombres contengan la letra i, use:

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

    Este comando selecciona todas las columnas de la tabla staff, pero solo incluye las filas donde la columna name contiene la letra i. La salida será:

    1|Alice|HR
    3|Charlie|HR
    4|David|IT
    
  4. Salga del shell de SQLite:

    .quit
    

Ordenar Datos con la Cláusula ORDER BY

La cláusula ORDER BY le permite ordenar los resultados de su consulta (query). Puede ordenar en orden ascendente (predeterminado) o descendente.

  1. Conéctese a la base de datos employees.db:

    sqlite3 employees.db
    
  2. Para ordenar los datos alfabéticamente por name en orden ascendente, use:

    SELECT * FROM staff ORDER BY name;
    

    Este comando selecciona todas las columnas de la tabla staff y ordena los resultados por la columna name en orden ascendente (de la A a la Z). La salida será:

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

    SELECT * FROM staff ORDER BY name DESC;
    

    Este comando selecciona todas las columnas de la tabla staff y ordena los resultados por la columna name en orden descendente (de la Z a la A). La salida será:

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

    .quit
    

Limitar Resultados con la Cláusula LIMIT

La cláusula LIMIT restringe el número de filas (rows) devueltas por una consulta (query). Esto es útil cuando solo necesita un subconjunto de los datos.

  1. Conéctese a la base de datos employees.db:

    sqlite3 employees.db
    
  2. Para recuperar solo las primeras 3 filas de la tabla staff, use:

    SELECT * FROM staff LIMIT 3;
    

    Este comando selecciona todas las columnas de la tabla staff y limita los resultados a las primeras 3 filas. La salida será:

    1|Alice|HR
    2|Bob|IT
    3|Charlie|HR
    
  3. Combine LIMIT con ORDER BY para obtener los primeros 2 empleados ordenados por name en orden descendente:

    SELECT * FROM staff ORDER BY name DESC LIMIT 2;
    

    Este comando selecciona todas las columnas de la tabla staff, ordena los resultados por la columna name en orden descendente y limita los resultados a las primeras 2 filas. La salida será:

    6|Frank|IT
    5|Eve|Marketing
    
  4. Salga del shell de SQLite:

    .quit
    

Resumen

En este laboratorio, ha aprendido cómo consultar (query) y filtrar datos en una base de datos SQLite. Se conectó a una base de datos, filtró datos utilizando la cláusula WHERE, hizo coincidir patrones con el operador LIKE, ordenó los resultados con ORDER BY y limitó el número de filas (rows) devueltas utilizando LIMIT. Estas técnicas le proporcionan las habilidades fundamentales para recuperar y organizar datos de manera efectiva.