MariaDB / 연산자 / 논리 연산자

MariaDB의 논리 연산자에 대하여 알아보겠습니다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_2이라는 테이블입니다. 각 열의 데이터 형식은 다음과 같습니다.

  • C_1 : 정수
  • C_2 : 문자
+----+------+------+
| ID | C_1  | C_2  |
+----+------+------+
|  1 |    1 | A    |
|  2 |    2 | B    |
|  3 |    3 | C    |
|  4 |    0 | NULL |
|  5 | NULL | A    |
|  6 |    1 | B    |
|  7 |    2 | C    |
|  8 |    3 | NULL |
|  9 |    1 | C    |
| 10 | NULL | NULL |
+----+------+------+

AND

여러 조건을 동시에 만족시키는 데이터를 찾을 때 AND 연산자를 사용합니다. AND 대신 &&를 사용해도 됩니다.

  • C_1의 값이 1이고 C_2의 값이 A이면 1을 반환합니다.
SELECT
  *,
  C_1 = 1 AND C_2 = 'A' AS R
FROM T_2
;
+----+------+------+------+
| ID | C_1  | C_2  | R    |
+----+------+------+------+
|  1 |    1 | A    |    1 |
|  2 |    2 | B    |    0 |
|  3 |    3 | C    |    0 |
|  4 |    0 | NULL |    0 |
|  5 | NULL | A    | NULL |
|  6 |    1 | B    |    0 |
|  7 |    2 | C    |    0 |
|  8 |    3 | NULL |    0 |
|  9 |    1 | C    |    0 |
| 10 | NULL | NULL | NULL |
+----+------+------+------+

OR

여러 조건 중 적어도 하나를 만족시키는 데이터를 찾을 때 OR 연산자를 사용합니다. OR 대신 ||를 사용해도 됩니다.

  • C_1의 값이 1 또는 C_2의 값이 A이면 1을 반환합니다.
SELECT
  *,
  C_1 = 1 OR C_2 = 'A' AS R
FROM T_2
;
+----+------+------+------+
| ID | C_1  | C_2  | R    |
+----+------+------+------+
|  1 |    1 | A    |    1 |
|  2 |    2 | B    |    0 |
|  3 |    3 | C    |    0 |
|  4 |    0 | NULL | NULL |
|  5 | NULL | A    |    1 |
|  6 |    1 | B    |    1 |
|  7 |    2 | C    |    0 |
|  8 |    3 | NULL | NULL |
|  9 |    1 | C    |    1 |
| 10 | NULL | NULL | NULL |
+----+------+------+------+

XOR

XOR은 OR과 비슷하나 조건을 동시에 만족시키는 것을 제외합니다.

  • C_1의 값이 1 또는 C_2의 값이 A이면서, C_1의 값이 1이고 C_2의 값이 A가 아니면 1을 반환합니다.
SELECT
  *,
  C_1 = 1 XOR C_2 = 'A' AS R
FROM T_2
;
+----+------+------+------+
| ID | C_1  | C_2  | R    |
+----+------+------+------+
|  1 |    1 | A    |    0 |
|  2 |    2 | B    |    0 |
|  3 |    3 | C    |    0 |
|  4 |    0 | NULL | NULL |
|  5 | NULL | A    | NULL |
|  6 |    1 | B    |    1 |
|  7 |    2 | C    |    0 |
|  8 |    3 | NULL | NULL |
|  9 |    1 | C    |    1 |
| 10 | NULL | NULL | NULL |
+----+------+------+------+

NOT

NOT은 주어진 조건을 충족하지 않은 것을 찾을 때 사용합니다.

  • C_1의 값이 1이 아니면 1을 반환합니다.
SELECT
  *,
  NOT C_1 = 1 AS R
FROM T_2
;
+----+------+------+------+
| ID | C_1  | C_2  | R    |
+----+------+------+------+
|  1 |    1 | A    |    0 |
|  2 |    2 | B    |    1 |
|  3 |    3 | C    |    1 |
|  4 |    0 | NULL |    1 |
|  5 | NULL | A    | NULL |
|  6 |    1 | B    |    0 |
|  7 |    2 | C    |    1 |
|  8 |    3 | NULL |    1 |
|  9 |    1 | C    |    0 |
| 10 | NULL | NULL | NULL |
+----+------+------+------+

논리 연산자 여러 번 사용

논리 연산자를 여러 번 사용해야 하는 경우, 괄호를 이용하여 조건 묶음을 만듭니다.

  • C_1의 값이 1 또는 C_2의 값이 A이면서, C_1이 NULL이 아니면 1을 반환합니다.
SELECT
  *,
  ( C_1 = 1 OR C_2 = 'A' ) AND ( C_1 IS NOT NULL ) AS R
FROM T_2
;
+----+------+------+------+
| ID | C_1  | C_2  | R    |
+----+------+------+------+
|  1 |    1 | A    |    1 |
|  2 |    2 | B    |    0 |
|  3 |    3 | C    |    0 |
|  4 |    0 | NULL | NULL |
|  5 | NULL | A    |    0 |
|  6 |    1 | B    |    1 |
|  7 |    2 | C    |    0 |
|  8 |    3 | NULL | NULL |
|  9 |    1 | C    |    1 |
| 10 | NULL | NULL |    0 |
+----+------+------+------+
같은 카테고리의 다른 글
MariaDB / 샘플 데이터베이스 employees 설치하는 방법

MariaDB / 샘플 데이터베이스 employees 설치하는 방법

데이터베이스를 다루는 공부를 할 때 데이터가 들어있는 데이터베이스가 있으면 좋습니다. 데이터베이스를 직접 만드는 방법도 있지만, 공개된 샘플 데이터베이스를 이용하면 편합니다. 예를 들어 SQL Server라면 AdventureWorks라는 샘플 데이터베이스를 마이크로소프트에서 제공합니다. MariaDB라면 employees를 사용하면 됩니다.

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

SQL의 JOIN은 여러 테이블을 한 번에 나타낼 때 사용합니다. 대표적인 JOIN 방식은 LEFT JOIN, RIGHT JOIN, INNER JOIN이 있습니다. 다음은 세 가지 JOIN의 차이를 알아보기 위한 간단한 예제 테이블입니다.

MariaDB / 연산자 / 비교 연산자

MariaDB / 연산자 / 비교 연산자

MariaDB의 비교 연산자에 대하여 알아보겠습니다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_1이라는 테이블입니다. 각 열의 데이터 형식은 다음과 같습니다. C_1 : 정수 C_2 : 문자 C_3 : 날짜 +----+------+------+------------+ | ID | C_1 | C_2 | C_3 | +----+------+------+------------+ | 1 | 1 | ...

MariaDB / 연산자 / 논리 연산자

MariaDB / 연산자 / 논리 연산자

MariaDB의 논리 연산자에 대하여 알아보겠습니다. 예제로 사용하는 테이블은 아래의 데이터를 가진 T_2이라는 테이블입니다. 각 열의 데이터 형식은 다음과 같습니다. C_1 : 정수 C_2 : 문자 +----+------+------+ | ID | C_1 | C_2 | +----+------+------+ | 1 | 1 | A | | 2 | ...

MariaDB / 사용자 관리하는 방법

MariaDB / 사용자 관리하는 방법

MariaDB에서 사용자를 만드는 방법, 수정하는 방법, 삭제하는 방법, 권한을 부여하고 제거하는 방법을 알아봅니다.

MariaDB / 피벗 테이블 만드는 방법

MariaDB / 피벗 테이블 만드는 방법

피벗 테이블은 엑셀의 유용한 기능 중의 하나입니다. 예를 들어 아래의 왼쪽 데이터를 오른쪽 표처럼 만드는 것이 피벗 테이블입니다. 조건에 따라 그룹화시켜서 보기 좋게 데이터를 정리하는 것이라 보면 됩니다. MariaDB에서도 몇 가지 함수를 이용하여 피벗 테이블을 만들 수 있습니다.

MariaDB / VIEW

MariaDB / VIEW

VIEW는 가상의 테이블입니다. 실제로 데이터를 저장하지 않고, 기존의 하나 이상의 테이블을 기반으로 한 쿼리 결과를 테이블처럼 사용할 수 있게 해줍니다. 뷰는 복잡한 쿼리를 단순화하고, 보안 및 데이터 관리에 유용하게 사용됩니다.

MariaDB / 데이터베이스 / 조회, 생성, 삭제, 이름 변경

MariaDB / 데이터베이스 / 조회, 생성, 삭제, 이름 변경

MariaDB에서 데이터베이스를 조회하는 방법, 생성하는 방법, 삭제하는 방법, 이름을 변경하는 방법에 대해서 알아봅니다.