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

MySQL에서 AND 조건을 올바르게 구현하는 방법

MySQL에서 두 개 이상의 조건을 동시에 만족하는 데이터를 조회하려면 AND 연산자를 사용합니다. AND 조건은 WHERE 절과 함께 사용되며, 모든 조건이 참일 때만 해당 레코드가 결과로 반환됩니다.

AND 조건의 기본 문법

AND 조건을 구현하는 기본적인 문법은 다음과 같습니다.

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

예제 테이블 생성하기

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

mysql> CREATE TABLE MySQLANDConditionDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(100),
-> Age int
-> );
Query OK, 0 rows affected (0.80 sec)

테이블이 정상적으로 생성되었습니다. 이제 INSERT 명령어를 사용하여 몇 개의 샘플 레코드를 삽입해 보겠습니다.

mysql> INSERT INTO MySQLANDConditionDemo(Name,Age) VALUES('Larry',23);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO MySQLANDConditionDemo(Name,Age) VALUES('Mike',21);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO MySQLANDConditionDemo(Name,Age) VALUES('Sam',24);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO MySQLANDConditionDemo(Name,Age) VALUES('David',26);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO MySQLANDConditionDemo(Name,Age) VALUES('Carol',27);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO MySQLANDConditionDemo(Name,Age) VALUES('Bob',28);
Query OK, 1 row affected (0.19 sec)

전체 레코드 조회하기

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

mysql> SELECT * FROM MySQLANDConditionDemo;

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

+----+-------+------+
| Id | Name | Age |
+----+-------+------+
| 1 | Larry | 23 |
| 2 | Mike | 21 |
| 3 | Sam | 24 |
| 4 | David | 26 |
| 5 | Carol | 27 |
| 6 | Bob | 28 |
+----+-------+------+
6 rows in set (0.00 sec)

AND 조건 적용 예제

이제 MySQL AND 조건을 활용한 실제 쿼리를 살펴보겠습니다. 아래 쿼리는 이름이 'Mike'이면서 나이가 21인 레코드만 조회합니다.

mysql> SELECT * FROM MySQLANDConditionDemo WHERE Name ='Mike' AND Age =21;

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

+----+------+------+
| Id | Name | Age |
+----+------+------+
| 2 | Mike | 21 |
+----+------+------+
1 row in set (0.00 sec)

정리

MySQL의 AND 조건은 여러 조건을 결합하여 더욱 정밀한 데이터 필터링을 가능하게 합니다. WHERE 절에서 AND 연산자를 사용하면 지정된 모든 조건을 동시에 충족하는 레코드만 결과로 가져올 수 있으며, 이는 복잡한 검색 로직을 구현할 때 매우 유용하게 활용됩니다.