SQL 'Null이 아님' 연산자

Sql Nulli Anim Yeonsanja



SQL에서는 IS NOT NULL 연산자를 사용하여 특정 열의 값이 Null이 아닌 데이터베이스 테이블의 결과를 필터링할 수 있습니다. 이는 특히 NULL 값을 처리하지 않는 함수에서 문제를 일으킬 수 있는 누락된 값이 포함되지 않은 깨끗한 데이터를 얻는 데 도움이 될 수 있습니다.

NULL 값은 빈 문자열, 숫자 0 또는 NaN을 포함하지 않는 데이터가 없음을 나타냅니다.







이 튜토리얼에서는 IS NOT NULL 연산자를 사용하여 주어진 쿼리에서 NULL 값이 포함된 결과를 필터링하는 방법을 알아봅니다.



통사론:

다음 코드 조각과 같이 IS NOT NULL 조건의 기본 구문을 표현할 수 있습니다.



열1, 열2, ...을 선택하세요.
FROM table_name
컬럼 이름은 NULL이 아닙니다.


'select' 키워드로 시작하여 결과 집합에서 검색하려는 열을 지정한 다음 데이터를 가져오려는 테이블의 이름을 지정합니다.





다음으로 WHERE 절을 사용하여 특정 열을 기반으로 한 데이터 필터링을 도입합니다. 마지막으로 필터링할 조건을 지정합니다.

예시 1:

IS NOT NULL 조건을 사용하여 결과를 필터링하는 방법에 대한 몇 가지 예를 살펴보겠습니다.



공식 MySQL 페이지에서 무료로 다운로드할 수 있는 Sakila 샘플 데이터베이스를 고려해 보세요.

'last_name'이 null이 아닌 고객의 이름을 검색한다고 가정해 보겠습니다. 이를 수행하기 위해 다음과 같이 쿼리를 사용할 수 있습니다.

선택하다
*
~에서
고객 C
어디
last_name은 null이 아닙니다.


이 경우 쿼리는 'last_name' 열의 값이 null이 아닌 고객 테이블의 모든 행을 반환합니다.

예 2: AND 및 OR 연산자

AND 및 OR 연산자를 사용하여 IS NOT NULL 조건을 다른 조건과 결합할 수 있습니다. 이렇게 하면 보다 세부적인 필터링이 생성됩니다.

예를 들어, “last_name”이 null이 아니고 이름이 Nancy 또는 Holly인 고객을 검색한다고 가정합니다.

다음과 같이 쿼리를 사용할 수 있습니다.

선택하다
고객 ID,
이름,
성,
이메일
에서
고객
어디
last_name은 NULL이 아닙니다.
그리고 ( 이름 = '낸시'
또는 이름 = '홀리' ) ;


이 쿼리에서는 IS NOT NULL 조건을 AND 및 OR 연산자와 결합하여 성이 null이 아니거나 이름이 Nancy 또는 Holly와 같은 레코드를 필터링합니다.

결과 출력은 다음과 같습니다.


보시다시피 이는 대상 데이터에 대해 보다 세부적이고 작은 필터링을 수행하는 방법을 제공합니다.

예 3: 집계 함수 사용

SQL 집계 함수와 함께 IS NOT NULL 함수를 사용할 수도 있습니다. 예를 들어, count() 함수와 함께 사용하여 주어진 열에서 null이 아닌 값의 개수를 계산할 수 있습니다.

예를 들어, null이 아닌 이메일 주소를 가진 고객 수를 확인한다고 가정해 보겠습니다. 쿼리를 다음과 같이 사용할 수 있습니다.

선택하다
세다 ( 고객 ID ) AS 전체
에서
고객
어디
이메일은 NULL이 아닙니다.


그러면 열에 있는 Null이 아닌 값의 개수가 다음과 같은 숫자 값으로 반환됩니다.

|
-----+
599 |

결론

이 튜토리얼에서는 주어진 결과 세트 또는 데이터베이스 테이블에서 null 값을 필터링하기 위해 SQL의 IS NOT NULL 조건에 대한 모든 것을 배웠습니다. 또한 AND 및 OR 연산자를 사용하여 IS NOT NULL 조건과 다른 조건을 결합하여 더 복잡한 필터링을 생성하는 방법도 배웠습니다.