자습서: 명령문을 사용하여 테이블에서 데이터 읽기 SELECT - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: 명령문을 사용하여 테이블에서 데이터 읽기 SELECT

자습서: Amazon Keyspaces 테이블에 데이터 삽입 및 로드 섹션에서는 SELECT 문을 사용하여 테이블에 데이터를 성공적으로 추가했는지 확인했습니다. 이 섹션에서는 SELECT의 용도를 조정하여 특정 열을 표시하고 특정 기준을 충족하는 행만 표시합니다.

SELECT 문의 일반적인 형식은 다음과 같습니다.

SELECT column_list FROM table_name [WHERE condition [ALLOW FILTERING]] ;

테이블의 모든 데이터를 선택합니다.

SELECT 문의 가장 간단한 형식은 테이블의 모든 데이터를 반환합니다.

중요

프로덕션 환경에서는 이 명령을 실행하면 테이블의 모든 데이터가 반환되므로 일반적으로 이 명령을 실행하는 것이 가장 좋은 방법은 아닙니다.

모든 테이블의 데이터를 선택하려면
  1. 다음 명령을 사용하여 Amazon Keyspaces를 AWS CloudShell 열고 연결합니다. 반드시 업데이트하십시오.us-east-1 자신의 지역으로 설정하세요.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. 다음 쿼리를 실행합니다.

    SELECT * FROM catalog.book_awards ;

    column_list에 대해 와일드카드 문자(*)를 사용하면 모든 열이 선택됩니다. 명령문의 출력은 다음 예와 같습니다.

    year | award | category | rank | author | book_title | publisher ------+------------------+-------------+------+--------------------+-----------------------+--------------- 2020 | Wolf | Non-Fiction | 1 | Wang Xiulan | History of Ideas | AnyPublisher 2020 | Wolf | Non-Fiction | 2 | Ana Carolina Silva | Science Today | SomePublisher 2020 | Wolf | Non-Fiction | 3 | Shirley Rodriguez | The Future of Sea Ice | AnyPublisher 2020 | Kwesi Manu Prize | Fiction | 1 | Akua Mansa | Where did you go? | SomePublisher 2020 | Kwesi Manu Prize | Fiction | 2 | John Stiles | Yesterday | Example Books 2020 | Kwesi Manu Prize | Fiction | 3 | Nikki Wolf | Moving to the Chateau | AnyPublisher 2020 | Richard Roe | Fiction | 1 | Alejandro Rosalez | Long Summer | SomePublisher 2020 | Richard Roe | Fiction | 2 | Arnav Desai | The Key | Example Books 2020 | Richard Roe | Fiction | 3 | Mateo Jackson | Inside the Whale | AnyPublisher

열의 하위 집합을 선택합니다.

열 하위 집합을 쿼리하려면
  1. 다음 명령을 사용하여 Amazon Keyspaces를 AWS CloudShell 열고 연결합니다. 반드시 업데이트하십시오.us-east-1 자신의 지역으로 설정하세요.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. award, categoryyear 열을 검색하려면 다음 쿼리를 실행합니다.

    SELECT award, category, year FROM catalog.book_awards ;

    출력에는 SELECT 명령문에 나열된 순서대로 지정된 열만 포함됩니다.

    award | category | year ------------------+-------------+------ Wolf | Non-Fiction | 2020 Wolf | Non-Fiction | 2020 Wolf | Non-Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Kwesi Manu Prize | Fiction | 2020 Richard Roe | Fiction | 2020 Richard Roe | Fiction | 2020 Richard Roe | Fiction | 2020

행의 하위 집합을 선택합니다.

대규모 데이터 세트를 쿼리할 때는 특정 기준을 충족하는 레코드만 필요할 수 있습니다. 이렇게 하려면 SELECT 문 끝에 WHERE 절을 추가할 수 있습니다.

행 하위 집합을 쿼리하려면
  1. 다음 명령을 사용하여 Amazon Keyspaces를 AWS CloudShell 열고 연결합니다. 반드시 업데이트하십시오.us-east-1 자신의 지역으로 설정하세요.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. 해당 연도의 수상 기록만 검색하려면 다음 쿼리를 실행하십시오.

    SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Wolf' ;

    SELECT 명령문은 다음과 같은 결과를 반환합니다.

    year | award | category | rank | author | book_title | publisher ------+-------+-------------+------+--------------------+-----------------------+--------------- 2020 | Wolf | Non-Fiction | 1 | Wang Xiulan | History of Ideas | AnyPublisher 2020 | Wolf | Non-Fiction | 2 | Ana Carolina Silva | Science Today | SomePublisher 2020 | Wolf | Non-Fiction | 3 | Shirley Rodriguez | The Future of Sea Ice | AnyPublisher

WHERE 절 이해

WHERE 절은 데이터를 필터링하고 지정된 기준을 충족하는 데이터만 반환하는 데 사용됩니다. 지정된 기준은 단순 조건일 수도 있고 복합 조건일 수도 있습니다.

WHERE 절에서 조건을 사용하는 방법
  • 단순 조건 - 단일 열

    WHERE column_name=value

    다음 조건 중 하나라도 충족되면 WHERE 절에 단순 조건을 사용할 수 있습니다.

    • 열은 테이블의 유일한 파티션 키 열입니다.

    • WHERE 절의 조건 뒤에 ALLOW FILTERING을 추가합니다.

      ALLOW FILTERING을 사용하면 성능이 일관되지 않을 수 있으며 특히 여러 파티션을 나눈 대형 테이블의 경우 더욱 그렇습니다.

  • 복합 조건 - AND로 연결된 여러 개의 단순 조건

    WHERE column_name1=value1 AND column_name2=value2 AND column_name3=value3...

    다음 조건 중 하나라도 충족되면 WHERE 절에 복합 조건을 사용할 수 있습니다.

    • WHERE조항에서 사용할 수 있는 열에는 테이블의 파티션 키에 있는 모든 열 또는 일부 열이 포함되어야 합니다. WHERE조항의 열 중 일부만 사용하려면 파티션 키의 선행 열부터 시작하여 왼쪽에서 오른쪽으로 연속된 파티션 키 열 세트를 포함해야 합니다. 예를 들어 파티션 키 열이 yearmonth, 인 경우 조항에 award 다음 열을 사용할 수 있습니다. WHERE

      • year

      • year AND month

      • year AND month AND award

    • 다음 예와 같이 WHERE 절의 복합 조건 뒤에 ALLOW FILTERING을 추가합니다.

      SELECT * FROM my_table WHERE col1=5 AND col2='Bob' ALLOW FILTERING ;

      ALLOW FILTERING을 사용하면 성능이 일관되지 않을 수 있으며 특히 여러 파티션을 나눈 대형 테이블의 경우 더욱 그렇습니다.

사용해보기

CQL쿼리를 직접 생성하여 book_awards 테이블에서 다음을 검색하십시오.

  • 2020 울프 어워드의 수상자를 찾아 책 제목과 저자를 순위별로 표시하세요.

  • 2020년 모든 어워드의 1위 수상자를 보여주고 책 제목과 어워드 이름을 표시하세요.