웹사이트 검색

SQL IN - SQL NOT IN


SQL IN 연산자는 WHERE 절의 일부로 여러 값을 제공하기 위해 WHERE 절과 함께 사용됩니다.

1. SQL 입력

SQL IN 연산자는 동일한 열에 대해 여러 OR 연산자를 사용하는 것과 거의 같습니다. SQL IN 연산자에 대해 자세히 알아보겠습니다. IN 연산자를 정의하는 방법에는 두 가지가 있습니다. 아래에서 두 가지 방법에 대해 자세히 설명합니다.

1.1) IN의 일부인 여러 값

통사론:

SELECT Column(s) FROM table_name WHERE column IN (value1, value2, ... valueN);

위에서 언급한 구문을 사용하여 IN 연산자의 일부로 여러 값을 정의할 수 있습니다. 몇 가지 예제를 통해 위에서 언급한 구문을 보다 자세히 이해할 것입니다. 예제 목적으로 다음 Student 테이블을 살펴보겠습니다.

RollNo StudentName StudentGender StudentAge StudentPercent
1 George M 14 85
2 Monica F 12 88
3 Jessica F 13 84
4 Tom M 11 78

시나리오: 나이가 12세 또는 13세인 학생의 비율을 가져옵니다. 쿼리:

SELECT StudentPercent FROM Student WHERE StudentAge IN ('12', '13');

산출:

StudentPercent
88
84

1.2) IN의 일부로 쿼리 선택

통사론:

SELECT Column(s) FROM table_name WHERE column IN (SELECT Statement);

위에서 언급한 구문을 사용하여 IN 연산자의 일부로 값을 제공하기 위해 SQL SELECT 문을 사용할 수 있습니다. 몇 가지 예제를 통해 위에서 언급한 구문을 보다 자세히 이해할 것입니다. 예제 목적으로 다음 제품 및 공급업체 테이블을 살펴보겠습니다. 제품 테이블

ProductId ProductName ProductPrice
1 Cookie 10
2 Cheese 11
3 Chocolate 15
4 Jam 20

공급자 테이블

ProductId ProductName SupplierName
1 Cookie ABC
2 Cheese XYZ
3 Chocolate ABC
4 Jam XDE

시나리오: 공급자가 ABC인 제품의 가격을 가져옵니다. 질문:

SELECT ProductPrice FROM Product WHERE ProductName IN 
    (SELECT ProductName FROM Supplier WHERE SupplierName = "ABC");

산출:

ProductPrice
10
15

1.3) SQL 중첩 IN

다른 IN 연산자 내부에서 IN을 사용할 수도 있습니다. 더 잘 이해하기 위해 아래 언급된 시나리오를 고려해 보겠습니다. 시나리오: 공급자가 ABC 및 XDE인 제품의 가격을 가져옵니다. 질문:

SELECT ProductPrice FROM Product WHERE ProductName IN 
    (SELECT ProductName FROM Supplier WHERE SupplierName IN ( "ABC", "XDE" ));

산출

ProductPrice
10
15
20

2. SQL NOT IN

SQL NOT IN 연산자는 IN 연산자의 일부로 언급된 값이 충족되지 않는 경우 결과를 필터링하는 데 사용됩니다. SQL NOT IN 연산자에 대해 자세히 알아보겠습니다. 통사론:

SELECT Column(s) FROM table_name WHERE Column NOT IN (value1, value2... valueN);

위의 구문에서 IN 절의 일부로 만족되지 않는 값은 결과로 간주됩니다. 예제 목적으로 이전에 정의된 Student 테이블을 고려해 보겠습니다. 시나리오: 나이가 12세 또는 13세가 아닌 학생의 비율을 가져옵니다. 쿼리

SELECT StudentPercent FROM Student WHERE StudentAge NOT IN ('12', '13');

산출:

StudentPercent
85
78

2.1) SQL NOT IN의 일부로 쿼리 선택

통사론:

SELECT Column(s) FROM table_name WHERE column NOT IN (SELECT Statement);

위에서 언급한 구문을 사용하여 IN 연산자의 일부로 값을 제공하기 위해 SELECT 문을 사용할 수 있습니다. 몇 가지 예제를 통해 위에서 언급한 구문을 보다 자세히 이해할 것입니다. 예제 목적으로 이전에 정의된 제품 및 공급업체 테이블을 고려해 보겠습니다. 시나리오: 공급자가 ABC가 아닌 제품의 가격을 가져옵니다. 질문:

SELECT ProductPrice FROM Product WHERE ProductName NOT IN 
    (SELECT ProductName FROM Supplier WHERE SupplierName = "ABC");

이것이 SQL IN 및 SQL NOT IN 연산자 예제의 전부입니다.