소개
이 랩에서는 SQLite 데이터베이스에서 데이터를 쿼리하고 필터링하는 방법을 배우게 됩니다. 이 실습 랩은 초보자를 위해 설계되었으며 필수적인 SQL 기술을 소개합니다. WHERE 절을 사용하여 데이터를 필터링하고, LIKE를 사용하여 패턴을 일치시키고, ORDER BY를 사용하여 결과를 정렬하고, LIMIT를 사용하여 결과 수를 제한하는 방법을 배우게 됩니다. 이 랩을 마치면 데이터베이스에서 특정 데이터를 효율적으로 검색할 수 있게 됩니다.
SQLite 에 연결하고 데이터 보기
첫 번째 단계에서는 employees.db라는 SQLite 데이터베이스에 연결하고 staff 테이블 내의 데이터를 봅니다. 이를 통해 작업할 데이터를 이해할 수 있습니다.
LabEx VM 환경에서 터미널을 엽니다. 기본 디렉토리는
/home/labex/project입니다.sqlite3명령줄 도구를 사용하여employees.db데이터베이스에 연결합니다.sqlite3 employees.db이 명령은
sqlite>프롬프트로 표시되는 SQLite 셸을 엽니다.staff테이블의 데이터를 봅니다. 다음 SQL 명령을 실행합니다.SELECT * FROM staff;이 명령은
staff테이블에서 모든 열 (*) 을 선택하고 결과를 표시합니다. 다음과 같은 출력을 볼 수 있습니다.1|Alice|HR 2|Bob|IT 3|Charlie|HR 4|David|IT 5|Eve|Marketing 6|Frank|IT이 출력은
staff테이블의 각 직원에 대한id,name, 및department를 보여줍니다.SQLite 셸을 종료하려면 다음을 입력합니다.
.quit중요: "계속" 버튼을 클릭하기 전에
.quit을 입력하십시오. 그렇지 않으면 sqlite 기록이 기록되지 않으므로 단계를 확인할 수 없습니다.
WHERE 절을 사용하여 데이터 필터링
WHERE 절을 사용하면 특정 조건에 따라 데이터를 필터링할 수 있습니다. 이 절을 사용하여 기준을 충족하는 행만 검색할 수 있습니다.
employees.db데이터베이스에 연결합니다.sqlite3 employees.dbHR부서의 직원만 검색하려면 다음 SQL 명령을 사용합니다.SELECT * FROM staff WHERE department = 'HR';이 명령은
staff테이블에서 모든 열을 선택하지만department열이HR과 같은 행만 포함합니다. 출력은 다음과 같습니다.1|Alice|HR 3|Charlie|HR이제
id가 3 보다 큰 직원을 찾아보겠습니다.SELECT * FROM staff WHERE id > 3;이 명령은
staff테이블에서 모든 열을 선택하지만id열이 3 보다 큰 행만 포함합니다. 출력은 다음과 같습니다.4|David|IT 5|Eve|Marketing 6|Frank|ITSQLite 셸을 종료합니다.
.quit중요: "계속" 버튼을 클릭하기 전에
.quit을 입력하십시오. 그렇지 않으면 sqlite 기록이 기록되지 않으므로 단계를 확인할 수 없습니다.
LIKE 연산자를 사용한 패턴 매칭
LIKE 연산자는 패턴 매칭에 사용됩니다. 정확한 값 대신 특정 패턴과 일치하는 데이터를 찾고 싶을 때 유용합니다. % (0 개 이상의 문자) 및 _ (단일 문자) 와 같은 와일드카드 (wildcard) 를 사용합니다.
employees.db데이터베이스에 연결합니다.sqlite3 employees.db이름이
A로 시작하는 직원을 찾으려면 다음 명령을 사용합니다.SELECT * FROM staff WHERE name LIKE 'A%';이 명령은
staff테이블에서 모든 열을 선택하지만name열이A로 시작하는 행만 포함합니다.%와일드카드는 0 개 이상의 문자와 일치합니다. 출력은 다음과 같습니다.1|Alice|HR이름에 문자
i가 포함된 직원을 찾으려면 다음을 사용합니다.SELECT * FROM staff WHERE name LIKE '%i%';이 명령은
staff테이블에서 모든 열을 선택하지만name열에 문자i가 포함된 행만 포함합니다. 출력은 다음과 같습니다.1|Alice|HR 3|Charlie|HR 4|David|ITSQLite 셸을 종료합니다.
.quit
ORDER BY 절을 사용하여 데이터 정렬
ORDER BY 절을 사용하면 쿼리 결과를 정렬할 수 있습니다. 오름차순 (기본값) 또는 내림차순으로 정렬할 수 있습니다.
employees.db데이터베이스에 연결합니다.sqlite3 employees.dbname을 기준으로 오름차순으로 데이터를 알파벳순으로 정렬하려면 다음을 사용합니다.SELECT * FROM staff ORDER BY name;이 명령은
staff테이블에서 모든 열을 선택하고name열을 기준으로 오름차순 (A to Z) 으로 결과를 정렬합니다. 출력은 다음과 같습니다.1|Alice|HR 2|Bob|IT 3|Charlie|HR 4|David|IT 5|Eve|Marketing 6|Frank|ITname을 기준으로 내림차순으로 정렬하려면 다음을 사용합니다.SELECT * FROM staff ORDER BY name DESC;이 명령은
staff테이블에서 모든 열을 선택하고name열을 기준으로 내림차순 (Z to A) 으로 결과를 정렬합니다. 출력은 다음과 같습니다.6|Frank|IT 5|Eve|Marketing 4|David|IT 3|Charlie|HR 2|Bob|IT 1|Alice|HRSQLite 셸을 종료합니다.
.quit
LIMIT 절을 사용하여 결과 제한
LIMIT 절은 쿼리에서 반환되는 행 수를 제한합니다. 데이터의 하위 집합만 필요한 경우 유용합니다.
employees.db데이터베이스에 연결합니다.sqlite3 employees.dbstaff테이블에서 처음 3 개의 행만 검색하려면 다음을 사용합니다.SELECT * FROM staff LIMIT 3;이 명령은
staff테이블에서 모든 열을 선택하고 결과를 처음 3 개의 행으로 제한합니다. 출력은 다음과 같습니다.1|Alice|HR 2|Bob|IT 3|Charlie|HRLIMIT를ORDER BY와 결합하여name을 기준으로 내림차순으로 정렬된 처음 2 명의 직원을 가져옵니다.SELECT * FROM staff ORDER BY name DESC LIMIT 2;이 명령은
staff테이블에서 모든 열을 선택하고,name열을 기준으로 내림차순으로 결과를 정렬하며, 결과를 처음 2 개의 행으로 제한합니다. 출력은 다음과 같습니다.6|Frank|IT 5|Eve|MarketingSQLite 셸을 종료합니다.
.quit
요약
이 랩에서는 SQLite 데이터베이스에서 데이터를 쿼리하고 필터링하는 방법을 배웠습니다. 데이터베이스에 연결하고, WHERE 절을 사용하여 데이터를 필터링하고, LIKE 연산자를 사용하여 패턴을 일치시키고, ORDER BY로 결과를 정렬하고, LIMIT를 사용하여 반환되는 행 수를 제한했습니다. 이러한 기술은 데이터를 효과적으로 검색하고 구성하는 데 필요한 기본적인 기술을 제공합니다.


