# QUERY

## Content

이 함수는 워크시트 내 데이터 매니저 테이블에서 데이터를 반환합니다.

## 구문

`QUERY(tableAndRows, columns)`

## 인수

이 함수는 다음 인수를 가집니다:

| 인수           | 설명                          |
| ------------ | --------------------------- |
| tableAndRows | 데이터 테이블 이름 또는 데이터 테이블 행입니다. |
| columns      | \[선택 사항] 필드 이름입니다.          |

## 데이터 유형

문자열 데이터를 받습니다.

다음 유형의 데이터를 반환합니다:

| 반환 유형  | 예시                                                                          |
| ------ | --------------------------------------------------------------------------- |
| 전체 테이블 | `QUERY("table1")`                                                           |
| 전체 열   | `QUERY("table1", "column1")`                                                |
| 데이터    | `QUERY("table1#1", "column1")`<br>`QUERY("customer/abc@gmail.com", "name")` |
| 특정 행   | `QUERY("table1#1")`<br>`QUERY("customer/abc@gmail.com")`                    |

## 참고

사용자는 다음과 같은 간단한 행 필터를 사용할 수 있습니다:

| 유형          | 예시                                |
| ----------- | --------------------------------- |
| 행 인덱스로 필터링  | `QUERY("table1#1")`               |
| 행 기본 키로 필터링 | `QUERY("customer/abc@gmail.com")` |
| 키-값 필터로 필터링 | `QUERY("order?status=success")`   |

배열을 사용하여 여러 열을 선택할 수 있습니다.

| 유형         | 예시                                                                          |
| ---------- | --------------------------------------------------------------------------- |
| 열 배열로 선택   | `QUERY("order?status=shipping", {"order date", "address", "Cargo weight"})` |
| 1차원 참조로 선택 | `QUERY("order?status=shipping", A1:D1)`                                     |

## 예제

다음 GIF는 세율에 따라 항목 정보를 표시하기 위해 QUERY 함수를 사용하는 예를 보여줍니다.

![](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/images/ts-queryfunction.gif)

다음 코드 샘플은 워크시트에서 QUERY 함수를 구현하는 방법을 보여줍니다.

```JavaScript
// 새 시트 생성
var sheet1 = new GC.Spread.Sheets.Worksheet();
sheet1.name("TS Reference in Formula");
spread.addSheet(0, sheet1);
spread.options.allowDynamicArray = true;
                
// 고유 세율
sheet1.setValue(3, 0, 'Different Tax Rates are:-')
sheet1.setFormula(3, 1, '=UNIQUE(TableSheet1[Tax Rate])'); // 동적 배열을 반환하며, 처음에 allowDynamicArray를 true로 설정했음
// 고유 값에 대한 데이터 유효성 검사기 설정
var dv = GC.Spread.Sheets.DataValidation.createFormulaListValidator('=$B$4#');
sheet1.setDataValidator(3, 3, dv);
// 데이터 유효성 검사기에서 셀 값 설정
sheet1.setValue(3, 3, 20);
// 범위에 테이블 스타일 적용
applyTableStyleForRange(sheet1, 5, 3, 400, 3);
sheet1.setValue(3, 2, 'Select a tax rate to Query the TableSheet')
sheet1.setArray(5, 3, [["stockItem", "unitPrice", "stockItemKey"]]);
// QUERY 함수 적용
sheet1.setFormula(6, 3, '=QUERY("myTable?taxRate="&D4, D6:F6)');
```
