

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

# SELECT 절
<a name="iot-sql-select"></a>

 AWS IoT SELECT 절은 기본적으로 ANSI SQL SELECT 절과 동일하지만 약간의 차이가 있습니다.

SELECT 절은 [데이터 타입](iot-sql-data-types.md), , [연산자](iot-sql-operators.md), [함수](iot-sql-functions.md)[리터럴](iot-sql-literals.md), [Case 문](iot-sql-case.md), [JSON 확장](iot-sql-json.md), [변수](iot-sql-set.md#iot-sql-set-usage), [중첩된 객체 쿼리](iot-sql-nested-queries.md)및를 지원합니다[이진 페이로드](binary-payloads.md).

SELECT 절을 사용하여 수신 MQTT 메시지에서 정보를 추출할 수 있습니다. `SELECT *`를 사용하여 전체 수신 메시지 페이로드를 검색할 수도 있습니다. 다음 예를 참조하세요.

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL statement: SELECT * FROM 'topic/subtopic'
Outgoing payload: {"color":"red", "temperature":50}
```

페이로드가 JSON 객체일 경우 객체 내 키를 참조할 수 있습니다. 송신 페이로드에는 키-값 페어가 포함됩니다. 다음 예를 참조하세요.

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL statement: SELECT color FROM 'topic/subtopic'
Outgoing payload: {"color":"red"}
```

AS 키워드를 사용하여 키 이름을 바꿀 수 있습니다. 다음 예를 참조하세요.

```
Incoming payload published on topic 'topic/subtopic':{"color":"red", "temperature":50}
SQL:SELECT color AS my_color FROM 'topic/subtopic'
Outgoing payload: {"my_color":"red"}
```

쉼표로 구분하여 여러 항목을 선택할 수 있습니다. 다음 예를 참조하세요.

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL: SELECT color as my_color, temperature as fahrenheit FROM 'topic/subtopic'
Outgoing payload: {"my_color":"red","fahrenheit":50}
```

'\*'를 포함하여 여러 항목을 선택하여 수신 페이로드에 항목을 추가할 수 있습니다. 다음 예를 참조하세요.

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL: SELECT *, 15 as speed FROM 'topic/subtopic'
Outgoing payload: {"color":"red", "temperature":50, "speed":15}
```

`"VALUE"` 키워드를 사용하여 JSON 객체가 아닌 송신 페이로드를 생성할 수 있습니다. SQL 버전 `2015-10-08`에서는 한 항목만 선택할 수 있습니다. SQL 버전 `2016-03-23` 이상에서는 최상위 객체로 출력할 배열을 선택할 수도 있습니다.

**Example**  

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL: SELECT VALUE color FROM 'topic/subtopic'
Outgoing payload: "red"
```

`'.'` 구문을 사용하여 수신 페이로드에서 중첩된 JSON 객체를 자세히 확인할 수 있습니다. 다음 예를 참조하세요.

```
Incoming payload published on topic 'topic/subtopic': {"color":{"red":255,"green":0,"blue":0}, "temperature":50}
SQL: SELECT color.red as red_value FROM 'topic/subtopic'
Outgoing payload: {"red_value":255}
```

숫자 또는 하이픈(-) 문자와 같은 예약된 문자가 포함된 JSON 객체 및 속성 이름을 사용하는 방법에 대한 자세한 내용은 [JSON 확장](iot-sql-json.md) 단원을 참조하세요.

함수([함수](iot-sql-functions.md) 섹션 참조)를 사용하여 수신 페이로드를 변환할 수 있습니다. 그룹화에 괄호를 사용할 수 있습니다. 다음 예를 참조하세요.

```
Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50}
SQL: SELECT (temperature - 32) * 5 / 9 AS celsius, upper(color) as my_color FROM 'topic/subtopic'
Outgoing payload: {"celsius":10,"my_color":"RED"}
```