SQLite에서 하위 질의를 사용하는 방법

SQLite에서 하위 질의를 사용하는 방법

2022-06-04 last update

7 minutes reading SQLite
SQLite는 데이터베이스에 저장된 데이터를 관리하고 표 형식으로 저장된 데이터를 관리하는 RDBMS의 일종이다.서로 다른 자문, 조회, 하위 조회와 내장 함수를 사용합니다.본고에서 우리는 하위 조회와 SQLite에서의 사용법을 토론할 것이다.

하위 쿼리


하위 질의는 네스트된 질의로 기본 질의에 있습니다. 예를 들어 다음 그림에 다음 문장이 있습니다.

이 그림에서 우리는 삽입된 SELECT 문장을 하위 조회 또는 내부 조회라고 부르는 것을 똑똑히 볼 수 있다. 또한 하위 조회를 사용할 때 몇 가지 원칙을 기억해야 한다.
  • 서브쿼리는 SELECT 자구, FROM 자구, UPDATE 자구, DELETE 자구, INSERT 자구, WHERE 자구와 함께 나타날 수 있음
  • 대부분의 하위 쿼리는 WHERE 서브문장과 함께 사용되며 다른 테이블의 SELECT 문장
  • IN, NOT IN, >, < 및 = 등의 비교 연산자는 하위 질의에 사용할 수 있습니다
  • 항상 괄호 () 를 사용하여 하위 질의를 정의하여 주 질의
  • 와 구분합니다.
  • 하위 쿼리는 한 열만 반환됩니다
  • 하위 질의는 한 행을 반환하지만 IN 연산자
  • 와 함께 사용하면 여러 행을 반환할 수 있습니다.

    하위 조회를 사용하는 일반 문법은 무엇입니까


    하위 질의의 일반 구문은 다음과 같습니다.
    SELECT column_1 FROM table1
    WHERE column_1=(SELECT column_1 FROM table2);

    SELECT 및 WHERE 자구의 하위 질의를 사용하는 방법


    네스트된 질의는 SELECT 및 WHERE 자구와 함께 사용할 수 있으며 이를 이해하기 위해 두 개의 테이블을 만듭니다.
    CREATE TABLE John_employees (emp_id INTEGER, emp_name TEXT);
    CREATE TABLE John_employees_salary (emp_id INTEGER, emp_salary INTEGER);

    이제 새로 만든 테이블에 데이터를 삽입하여 사용합니다.
    INSERT INTO John_employees VALUES (1,’Hannah’),(2,’Paul’),(3, ’Alexander’);
    INSERT INTO John_employees_salary VALUES (1,50000),(2,38000),(3, 93000);

    현재 하위 쿼리를 사용하면 월급이 38000보다 높은 직원을 표시할 것입니다.
    SELECT*FROM John_employees WHERE emp_id IN (SELECT emp_id FROM John_employees_salary WHERE emp_salary > 40000);

    위의 출력은 임금이 40000보다 높은 직원을 표시하고 하위 조회를 통해 한 표의 값과 다른 표의 값을 비교한다.위의 예에서 "(John_employees\u salary에서 emp\u id를 선택하고 그 중에서emp\u salary>40000)."는 중첩된 문장에 사용되는 하위 질의입니다.

    하위 질의를 INSERT 자문과 함께 사용하는 방법


    하위 질의는 INSERT 자구와 함께 사용하여 한 테이블에서 다른 테이블에 값을 삽입할 수도 있습니다.그것을 이해하려면 예를 하나 고려해 보세요.우리는 표 구조상 John_employees와 유사한 표가 있습니다.현재, 우리는 하위 조회를 사용하여 emp\U 이름의 데이터를 John_직원에서 Paul\u직원으로 복사하고 있습니다.
    INSERT INTO Paul_employees SELECT * FROM John_employees WHERE emp_name IN (SELECT emp_name  FROM John_employees);

    Paul\u employees 테이블의 내용을 표시하려면 다음과 같이 하십시오.
    SELECT emp_name FROM Paul_employees;

    UPDATE 자구의 하위 질의를 사용하는 방법


    하위 쿼리는 UPDATE 자구와 함께 모든 테이블의 데이터를 업데이트하는 데 사용됩니다. 예를 들어 John_employees\u salary 테이블이 있습니다.
    SELECT * FROM John_employees_salary;

    emp\U id가 1보다 큰 직원에 대해 표 John_employees\u salary의 emp\u salary 값을 50% 업데이트하고 있습니다. 따라서 하위 쿼리를 사용합니다.
    UPDATE John_employees_salary SET emp_salary = emp_salary * 1.50 WHERE emp_id IN (SELECT emp_id FROM John_employees WHERE emp_id > 1 );

    John_employees\u salary의 급여를 표시합니다.
    SELECT * FROM John_employees_salary;

    출력에서 emp\U id가 1보다 큰 직원의 임금이 증가했음을 확인할 수 있습니다.

    하위 질의를 DELETE 자구와 함께 사용하는 방법


    또한 DELETE 자구가 있는 하위 쿼리를 사용하여 테이블에서 데이터를 삭제할 수도 있습니다. 이를 이해하려면 다음 방법으로 표시되는 John_employees를 고려하십시오.
    SELECT * FROM John_employees;

    이제 하위 쿼리를 사용하여 John_employees\u salary 테이블에서 80000이 넘는 직원의 이름을 삭제합니다.
    DELETE FROM John_employees WHERE emp_id IN (SELECT emp_id FROM John_employees_salary WHERE emp_salary > 80000);

    변경 사항을 확인하려면 John_employees 테이블을 표시합니다.
    SELECT * FROM John_employees;

    결론


    SQLite는 쿼리를 사용하여 데이터를 구성하는 서버 관계 없는 데이터베이스 관리 시스템입니다.SQLite에는 여러 가지 방법으로 데이터베이스 데이터에 액세스할 수 있으며 그 중 하나는 네스트된 질의입니다.우리가 다른 테이블에 의존하는 일부 조건에 따라 데이터를 수정할 때, 일반적으로 하위 조회라고 불리는 플러그인 조회를 사용해야 한다.본고에서 우리는 SQLite 서브쿼리를 토론했고 예시를 통해 그것들의 용법을 토론했다.