>데이터 베이스 >MySQL 튜토리얼 >MySQL SELECT 문에서 NULL 값을 어떻게 제외할 수 있나요?

MySQL SELECT 문에서 NULL 값을 어떻게 제외할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2025-01-15 16:37:43177검색

How Can I Exclude NULL Values from MySQL SELECT Statements?

MySQL SELECT 쿼리에서 NULL 필터링

질문: MySQL SELECT 문을 사용하여 null이 아닌 값만 검색하려면 어떻게 해야 합니까?

표준 MySQL SELECT * 문에는 NULL 값이 있는 열을 포함하여 모든 열이 포함됩니다. null이 아닌 데이터만 검색하려면 IS NOT NULL 조건

을 사용하세요.
<code class="language-sql">SELECT * 
FROM your_table
WHERE YourColumn IS NOT NULL;</code>

이 쿼리는 YourColumnNULL이 포함되지 않은 행을 반환합니다. MySQL은 표준 SQL은 아니지만 널 안전 동등 연산자의 부정도 지원합니다.

<code class="language-sql">SELECT *
FROM your_table
WHERE NOT (YourColumn <=> NULL);</code>

여러 열을 처리하려면 다른 전략이 필요합니다. 한 가지 방법은 여러 SELECT 문과 UNION ALL:

을 사용하는 것입니다.
<code class="language-sql">SELECT val1 AS val
FROM your_table
WHERE val1 IS NOT NULL
UNION ALL
SELECT val2
FROM your_table
WHERE val2 IS NOT NULL;</code>

이 접근 방식은 각 열을 개별적으로 확인하고 결과를 결합합니다. 하지만 다수의 테이블 스캔으로 인해 비효율적일 수 있습니다.

다중 스캔을 방지하려면 교차 조인이 포함된 CASE 문을 고려하세요.

<code class="language-sql">SELECT CASE idx
         WHEN 1 THEN val1
         WHEN 2 THEN val2
       END AS val
FROM your_table
CROSS JOIN (SELECT 1 AS idx UNION ALL SELECT 2) t
HAVING val IS NOT NULL;</code>

각 행의 val1val2에서 null이 아닌 첫 번째 값을 선택하여 val 열에 할당합니다.

위 내용은 MySQL SELECT 문에서 NULL 값을 어떻게 제외할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.