

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

# 논리 조건
<a name="logical-conditions-spark"></a>

논리 조건은 두 조건 결과를 결합하여 단일 결과를 산출합니다. 모든 논리 조건은 반환 형식이 부울인 이진 연산자입니다.

## 구문
<a name="logical_condition-synopsis"></a>

```
expression
{ AND | OR }
expression
NOT expression
```

논리 조건은 값이 3개인 부울 논리를 사용하며, 여기에서 NULL 값은 알 수 없는 관계를 의미합니다. 다음 표는 논리 조건 결과를 설명한 것으로서 `E1`과 `E2`는 표현식을 의미합니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/clean-rooms/latest/sql-reference/logical-conditions-spark.html)

NOT 연산자는 AND 이전에, 그리고 AND 연산자는 OR 이전에 평가됩니다. 하지만 괄호를 사용하면 이러한 기본 평가 순서를 재정의할 수 있습니다.

### 예시
<a name="logical_condition-examples"></a>

다음은 USERS 테이블에서 Las Vegas와 스포츠를 모두 좋아하는 사용자의 USERID 및 USERNAME을 반환하는 예입니다.

```
select userid, username from users
where likevegas = 1 and likesports = 1
order by userid;

userid | username
--------+----------
1 | JSG99FHE
67 | TWU10MZT
87 | DUF19VXU
92 | HYP36WEQ
109 | FPL38HZK
120 | DMJ24GUZ
123 | QZR22XGQ
130 | ZQC82ALK
133 | LBN45WCH
144 | UCX04JKN
165 | TEY68OEB
169 | AYQ83HGO
184 | TVX65AZX
...
(2128 rows)
```

다음은 USERS 테이블에서 Las Vegas 또는 스포츠를, 혹은 둘 다 좋아하는 사용자의 USERID 및 USERNAME을 반환하는 예입니다. 이 쿼리는 이전 예의 모든 출력에 더하여 Las Vegas 또는 스포츠만 좋아하는 사용자까지 반환합니다.

```
select userid, username from users
where likevegas = 1 or likesports = 1
order by userid;

userid | username
--------+----------
1 | JSG99FHE
2 | PGL08LJI
3 | IFT66TXU
5 | AEB55QTM
6 | NDQ15VBM
9 | MSD36KVR
10 | WKW41AIW
13 | QTF33MCG
15 | OWU78MTR
16 | ZMG93CDD
22 | RHT62AGI
27 | KOY02CVE
29 | HUH27PKK
...
(18968 rows)
```

다음은 `OR` 조건에 괄호를 사용하여 New York 또는 California에서 Macbeth를 공연한 장소를 찾는 예입니다.

```
select distinct venuename, venuecity
from venue join event on venue.venueid=event.venueid
where (venuestate = 'NY' or venuestate = 'CA') and eventname='Macbeth'
order by 2,1;

venuename                |   venuecity
----------------------------------------+---------------
Geffen Playhouse                       | Los Angeles
Greek Theatre                          | Los Angeles
Royce Hall                             | Los Angeles
American Airlines Theatre              | New York City
August Wilson Theatre                  | New York City
Belasco Theatre                        | New York City
Bernard B. Jacobs Theatre              | New York City
...
```

위 예에서 괄호를 제거하면 쿼리의 논리 및 결과가 바뀝니다.

다음 예에서는 `NOT` 스크립트를 사용합니다: 

```
select * from category
where not catid=1
order by 1;

catid | catgroup |  catname  |                  catdesc
-------+----------+-----------+--------------------------------------------
2 | Sports   | NHL       | National Hockey League
3 | Sports   | NFL       | National Football League
4 | Sports   | NBA       | National Basketball Association
5 | Sports   | MLS       | Major League Soccer
...
```

다음은 `NOT` 조건에 이어 `AND` 조건을 사용하는 예입니다.

```
select * from category
where (not catid=1) and catgroup='Sports'
order by catid;

catid | catgroup | catname |             catdesc
-------+----------+---------+---------------------------------
2 | Sports   | NHL     | National Hockey League
3 | Sports   | NFL     | National Football League
4 | Sports   | NBA     | National Basketball Association
5 | Sports   | MLS     | Major League Soccer
(4 rows)
```