Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL WHERE 절에서 OR 연산자 사용하는 방법

MySQL WHERE 절의 OR 연산자란?

OR 연산자는 여러 조건 중 하나라도 참(true)이면 전체 결과를 true로 반환하는 논리 연산자입니다. 즉, WHERE 절에서 두 개 이상의 조건을 결합할 때, 어느 하나만 만족해도 해당 행이 조회됩니다.

이제 실제 예제를 통해 테이블을 생성하고 OR 연산자를 활용하는 방법을 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 클라이언트 정보를 저장할 테이블을 생성합니다.

mysql> create table DemoTable663(ClientId int, ClientName varchar(100), ClientAge int);
Query OK, 0 rows affected (0.55 sec)

2단계: 데이터 삽입

INSERT 명령어를 사용하여 테이블에 샘플 레코드를 추가합니다.

mysql> insert into DemoTable663 values(100,'Chris',45);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable663 values(101,'Robert',29);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable663 values(102,'John',45);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable663 values(103,'Chris',35);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable663 values(104,'Sam',45);
Query OK, 1 row affected (0.72 sec)

3단계: 전체 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable663;

위 쿼리는 다음과 같은 결과를 출력합니다.

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
|      100 | Chris      |        45 |
|      101 | Robert     |        29 |
|      102 | John       |        45 |
|      103 | Chris      |        35 |
|      104 | Sam        |        45 |
+----------+------------+-----------+
5 rows in set (0.00 sec)

4단계: OR 연산자로 조건부 조회

다음은 WHERE 절에서 OR 연산자를 사용한 쿼리입니다. 이 쿼리는 고객 이름이 'Chris'이거나 나이가 45세인 모든 행을 반환합니다.

mysql> select *from DemoTable663 where ClientName='Chris' OR ClientAge=45;

실행 결과는 다음과 같습니다.

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
|      100 | Chris      |        45 |
|      102 | John       |        45 |
|      103 | Chris      |        35 |
|      104 | Sam        |        45 |
+----------+------------+-----------+
4 rows in set (0.00 sec)

결과 분석

출력 결과를 보면 원래 5개의 행 중 4개의 행만 조회되었습니다. 그 이유는 다음과 같습니다.

  • ID 100 (Chris, 45): 이름 조건과 나이 조건 모두 충족
  • ID 101 (Robert, 29): 두 조건 모두 불충족하여 제외됨
  • ID 102 (John, 45): 나이 조건 충족
  • ID 103 (Chris, 35): 이름 조건 충족
  • ID 104 (Sam, 45): 나이 조건 충족

이처럼 OR 연산자는 각 조건을 개별적으로 평가하여, 하나라도 만족하는 행을 모두 반환합니다. AND 연산자가 모든 조건을 동시에 만족해야 하는 것과 대조적입니다.