728x90
반응형
WHERE 절에서 IN과 OR은 여러 개의 조건 중 하나 이상을 만족하는 경우에 해당하는 데이터를 조회하는 데 사용됩니다.
하지만 각각의 기능에는 차이점이 있습니다.
1. IN:
IN 연산자는 주어진 열의 값 중 하나 이상이 지정된 값과 일치하는 모든 행을 선택합니다.
예를 들어 아래의 SQL 문은 'A', 'B', 'C' 중 하나 이상의 값을 가진 데이터를 조회합니다.
SELECT * FROM table_name WHERE column_name IN('A', 'B', 'C');
2.OR:
OR 연산자는 주어진 조건 중 하나 이상을 만족하는 모든 행을 선택합니다.
예를 들어 아래의 SQL 문은 'A'와 'B'를 포함하는 데이터를 조회합니다.
SELECT * FROM table_name WHERE column_name = 'A' OR column_name = 'B';
따라서, IN 연산자는 하나의 열에서 여러 개의 값을 비교할 때 사용되며,
OR 연산자는 여러 개의 조건 중 하나 이상을 만족하는 데이터를 조회할 때 사용됩니다.
CREATE TABLE TABLE_01(
IDX NUMBER(1) PRIMARY KEY,
COL1 NUMBER(1),
COL2 NUMBER(1)
);
INSERT INTO TABLE_01(IDX, COL1, COL2)
VALUES(1, 2, NULL);
SELECT *
FROM TABLE_01;
DELETE TABLE_01
WHERE IDX = 1;
INSERT INTO TABLE_01
VALUES (1, 2, NULL);
INSERT INTO TABLE_01
VALUES (2, 3, 6);
INSERT INTO TABLE_01(IDX, COL1, COL2)
VALUES (3, 5, 5);
INSERT INTO TABLE_01 (IDX, COL1, COL2)
VALUES (4, 6, 3);
INSERT INTO TABLE_01
VALUES (5, NULL, 3);
>>
SELECT COUNT(COL2)
FROM TABLE_01
WHERE COL1 IN(2,3) OR COL2 IN(3, 5);
위의 SQL문은 TABLE_01 테이블에서 COL1 값이 2 또는 3이거나,
COL2 값이 3 또는 5인 데이터의 개수를 조회하는 것 입니다.
먼저 WHERE 절에서 COL1 IN(2, 3) COL2 IN(3, 5) 조건을 검사합니다.
이 조건은 COL1 열에서 값이 2 또는 3 이거나, COL2 열에서 3 또는 5인 데이터를 선택합니다.
그리고 나서 COUNT(COL2) 함수를 사용하여 데이터의 COL2 열의 값 중에서 NULL이 아닌 데이터의 개수를 조회합니다.
만약 COL2 열이 NULL 인 경우, COUNT 함수는 해당 데이터를 제외하고 개수를 계산합니다.
728x90
반응형
'Language > RDBMS' 카테고리의 다른 글
Build a spatial database environment (0) | 2023.11.22 |
---|---|
SUMMARY OF DATABASE LANGUAGE (0) | 2023.04.18 |
testUser Query (0) | 2023.04.17 |
사용자 생성 및 권한 부여 (0) | 2023.04.17 |
인덱스 기본 (0) | 2023.03.19 |