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

MySQL에서 ID가 4로 나누어지는 모든 행을 조회하는 방법

MySQL에서 특정 조건에 맞는 데이터를 필터링할 때 나머지 연산자(%)를 활용하면 매우 유용합니다. 이 글에서는 ID 값이 4로 나누어지는(나머지가 0인) 모든 행을 조회하는 방법을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 ID 열을 포함하는 테이블을 생성합니다.

mysql> create table DemoTable
    (
    ID int,
    StudentName varchar(10),
    CountryName varchar(20)
    );
Query OK, 0 rows affected (0.70 sec)

2. 샘플 데이터 삽입하기

INSERT 명령을 사용하여 테이블에 여러 개의 레코드를 추가합니다.

mysql> insert into DemoTable values(0,'David','AUS');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(3,'Chris','UK');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values(8,'Carol','US');
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable values(9,'Sam','US');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(12,'Robert','UK');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values(10,'Mike','AUS');
Query OK, 1 row affected (0.17 sec)

3. 전체 데이터 확인하기

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

mysql> select *from DemoTable;

출력 결과

+------+-------------+-------------+
| ID | StudentName | CountryName |
+------+-------------+-------------+
| 0 | David | AUS |
| 3 | Chris | UK |
| 8 | Carol | US |
| 9 | Sam | US |
| 12 | Robert | UK |
| 10 | Mike | AUS |
+------+-------------+-------------+
6 rows in set (0.00 sec)

4. ID가 4로 나누어지는 행 조회하기

핵심은 WHERE 절에서 나머지 연산자를 사용하는 것입니다. (ID % 4) = 0 조건은 ID를 4로 나눴을 때 나머지가 0, 즉 4의 배수인 행만 반환합니다.

mysql> select *from DemoTable where (ID%4)=0;

출력 결과

+------+-------------+-------------+
| ID | StudentName | CountryName |
+------+-------------+-------------+
| 0 | David | AUS |
| 8 | Carol | US |
| 12 | Robert | UK |
+------+-------------+-------------+
3 rows in set (0.30 sec)

정리

위 결과에서 볼 수 있듯이 ID가 0, 8, 12인 행만 조회되었습니다. 이 세 값은 모두 4로 나누었을 때 나머지가 0이 되는 숫자입니다.

참고로 MySQL에서는 MOD() 함수를 사용하여 동일한 결과를 얻을 수도 있습니다. 즉, WHERE MOD(ID, 4) = 0WHERE (ID % 4) = 0은 완전히 같은 의미입니다. 상황에 따라 가독성이 더 좋은 방식을 선택해서 사용하면 됩니다.