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

MySQL에서 여러 열 중 하나라도 특정 값과 일치하는 행을 조회하는 방법

MySQL에서 여러 열 중 하나가 특정 값과 일치하는 행 조회하기

MySQL에서 여러 열(컬럼) 중 하나라도 특정 값과 일치하는 행을 조회하려면 OR 연산자를 활용하면 됩니다. OR 조건을 여러 개 연결하면 지정한 열들 중 어느 하나라도 조건을 만족하는 모든 행이 결과로 반환됩니다.

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

mysql> create table DemoTable
    (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName varchar(10),
    LastName varchar(10),
    Age int,
    CountryName varchar(10)
    );
Query OK, 0 rows affected (0.58 sec)

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

mysql> insert into DemoTable(FirstName,LastName,Age,CountryName)
values('John','Smith',21,'US');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(FirstName,LastName,Age,CountryName)
values('Carol','Taylor',22,'AUS');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(FirstName,LastName,Age,CountryName)
values('David','Miller',19,'UK');
Query OK, 1 row affected (0.16 sec)

SELECT 문으로 테이블의 전체 레코드를 확인합니다.

mysql> select *from DemoTable;

출력 결과

+----+-----------+----------+------+-------------+
| Id | FirstName | LastName | Age  | CountryName |
+----+-----------+----------+------+-------------+
| 1  | John      | Smith    | 21   | US          |
| 2  | Carol     | Taylor   | 22   | AUS         |
| 3  | David     | Miller   | 19   | UK          |
+----+-----------+----------+------+-------------+
3 rows in set (0.00 sec)

아래는 여러 열 중 하나가 특정 값과 일치하는 행을 선택하는 쿼리입니다. FirstName이 'Carol'이거나, Age가 22이거나, CountryName이 'AUS'인 세 가지 조건 중 하나라도 만족하는 행을 모두 조회합니다.

mysql> select *from DemoTable where FirstName="Carol" OR Age=22 OR CountryName="AUS";

출력 결과

+----+-----------+----------+------+-------------+
| Id | FirstName | LastName | Age  | CountryName |
+----+-----------+----------+------+-------------+
| 2  | Carol     | Taylor   | 22   | AUS         |
+----+-----------+----------+------+-------------+
1 row in set (0.00 sec)

참고 팁

같은 열에 대해 여러 값을 비교할 때는 IN 연산자를 사용하는 것이 더 간결하지만, 위 예제처럼 서로 다른 여러 열을 대상으로 조건을 걸 때는 OR 연산자를 사용하는 것이 표준적인 방법입니다. 또한 OR 조건이 많아지거나 AND 조건과 혼합해서 사용할 경우에는 괄호로 조건을 묶어주는 것이 좋습니다. 이렇게 하면 평가 순서가 명확해져 의도한 대로 정확하게 결과를 얻을 수 있습니다.