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

MySQL에서 여러 개의 AND 조건을 사용하는 방법 완벽 가이드

MySQL에서 하나의 쿼리에 여러 개의 AND 조건을 적용하면, 지정된 모든 조건을 동시에 만족하는 레코드만 조회할 수 있습니다. 이는 복잡한 데이터 필터링에 매우 유용한 기능입니다.

기본 문법

여러 개의 AND 조건을 사용하는 기본 문법은 다음과 같습니다.

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

예제 테이블 생성

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> CREATE TABLE DemoTable
    (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName varchar(20),
    StudentAge int,
    StudentCountryName varchar(40)
    );
Query OK, 0 rows affected (0.59 sec)

다음으로 INSERT 명령을 사용하여 테이블에 샘플 데이터를 입력합니다.

mysql> INSERT INTO DemoTable(StudentName, StudentAge, StudentCountryName) VALUES('John', 23, 'US');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentAge, StudentCountryName) VALUES('Carol', 21, 'UK');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentAge, StudentCountryName) VALUES('John', 21, 'US');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable(StudentName, StudentAge, StudentCountryName) VALUES('John', 21, 'AUS');
Query OK, 1 row affected (0.14 sec)

저장된 전체 데이터 확인

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

mysql> SELECT * FROM DemoTable;

출력 결과

+-----------+-------------+------------+--------------------+
| StudentId | StudentName | StudentAge | StudentCountryName |
+-----------+-------------+------------+--------------------+
| 1         | John        | 23         | US                 |
| 2         | Carol       | 21         | UK                 |
| 3         | John        | 21         | US                 |
| 4         | John        | 21         | AUS                |
+-----------+-------------+------------+--------------------+
4 rows in set (0.00 sec)

여러 AND 조건을 적용한 쿼리 실행

이제 학생 이름이 'John', 나이가 21살, 국가가 'AUS'인 세 가지 조건을 모두 만족하는 레코드를 조회하는 쿼리를 실행해 보겠습니다.

mysql> SELECT * FROM DemoTable WHERE StudentName = "John" AND StudentAge = 21 AND StudentCountryName = "AUS";

출력 결과

+-----------+-------------+------------+--------------------+
| StudentId | StudentName | StudentAge | StudentCountryName |
+-----------+-------------+------------+--------------------+
| 4         | John        | 21         | AUS                |
+-----------+-------------+------------+--------------------+
1 row in set (0.00 sec)

결과 분석

위 출력 결과를 보면 세 가지 조건(이름 'John', 나이 21, 국가 'AUS')을 모두 충족하는 레코드는 StudentId가 4인 행뿐입니다.

참고로 같은 이름과 나이를 가진 StudentId 3번 레코드는 국가가 'US'이므로 조건에서 제외되었습니다. 이처럼 AND 연산자는 나열된 모든 조건이 참일 때만 해당 행을 반환하며, 단 하나의 조건이라도 만족하지 않으면 결과에서 제외됩니다.