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

MySQL에서 WHERE 절에 두 개 이상의 조건을 사용하는 방법 (AND, OR 연산자 활용)

MySQL에서 여러 조건을 조합한 WHERE 절 사용하기

네, 가능합니다. MySQL에서는 AND 또는 OR 연산자를 사용하여 하나의 WHERE 절에서 두 개 이상의 조건을 조합할 수 있습니다. 기본 문법은 다음과 같습니다.

SELECT * FROM yourTableName
WHERE yourColumnName1 = yourValue1 AND yourColumnName2 = yourValue2;

AND 연산자를 사용할 경우, 두 조건이 모두 참(true)일 때만 결과가 반환됩니다. 만약 두 조건 중 하나라도 만족하지 않으면 빈 결과 집합(empty set)이 반환됩니다. 반면 OR 연산자를 사용하면 두 조건 중 하나만 참이어도 결과가 조회됩니다.

예제 테이블 생성하기

위 문법을 실제로 이해하기 위해 예제 테이블을 먼저 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> CREATE TABLE WhereDemo
-> (
-> Id int,
-> Name varchar(20)
-> );
Query OK, 0 rows affected (0.56 sec)

샘플 데이터 삽입하기

이제 INSERT 명령을 사용하여 테이블에 레코드를 몇 개 삽입합니다.

mysql> INSERT INTO WhereDemo VALUES(101,'Maxwell');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO WhereDemo VALUES(110,'David');
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO WhereDemo VALUES(1000,'Carol');
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO WhereDemo VALUES(1100,'Bob');
Query OK, 1 row affected (0.47 sec)
mysql> INSERT INTO WhereDemo VALUES(115,'Sam');
Query OK, 1 row affected (0.23 sec)

전체 레코드 조회하기

SELECT 문을 사용하여 테이블의 모든 레코드를 확인해 보겠습니다.

mysql> SELECT * FROM WhereDemo;

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

+------+---------+
| Id | Name |
+------+---------+
| 101 | Maxwell |
| 110 | David |
| 1000 | Carol |
| 1100 | Bob |
| 115 | Sam |
+------+---------+
5 rows in set (0.00 sec)

AND 연산자로 복수 조건 조회하기

다음은 두 개의 조건을 동시에 적용하여 레코드를 조회하는 쿼리입니다. Id가 1100이고, Name이 'Bob'인 레코드를 찾습니다.

mysql> SELECT * FROM WhereDemo WHERE Id=1100 AND Name='Bob';

두 조건을 모두 만족하는 레코드만 정상적으로 반환되는 것을 확인할 수 있습니다.

+------+------+
| Id | Name |
+------+------+
| 1100 | Bob |
+------+------+
1 row in set (0.00 sec)

이처럼 MySQL에서는 AND, OR 연산자를 활용하면 하나의 WHERE 절에서 원하는 만큼 조건을 조합하여 더욱 정교한 데이터 검색이 가능합니다. 세 개 이상의 조건이 필요한 경우에도 같은 방식으로 연산자를 계속 연결하면 됩니다.