MySQL COALESCE 기능을 사용하는 방법

MySQL COALESCE 기능을 사용하는 방법

2022-09-16 last update

7 minutes reading MySQL MariaDB
MySQL은 Null 값의 개념을 가진 DBMS입니다. MySQL에서 COALESCE 함수는 지정된 일련의 표현식에서 null이 아닌 첫 번째 값을 반환하므로 사용됩니다. 열의 모든 값이 null이면 COALESCE도 null을 반환합니다. "IS NULL 쿼리"와 유사하게 작동합니다. 둘 다 NULL 값을 처리하지만 둘 모두의 차이점은 동작에 있습니다. "IS NULL"쿼리는 테이블에서 null 값을 추출하는 반면 COALESCE 함수는 null 값이 있는 경우 첫 번째 null이 아닌 값을 제공합니다. 테이블.
이 글에서는 MySQL에서 COALESCE 함수가 무엇이며 예제를 통해 어떻게 사용할 수 있는지 설명합니다.

MySQL의 COALESCE 함수는 무엇입니까


COALESCE 함수는 주어진 데이터에서 null이 아닌 첫 번째 값을 식별하는 데 도움이 되며 선택한 테이블에 null 값이 있으면 "null"을 반환합니다. 예제를 이해하기 전에 COALESCE의 일반적인 구문을 살펴보겠습니다.
일반 구문은 다음과 같습니다.
SELECT COALESCE (value1,value2,.....);
COALESCE 함수의 이 구문을 이해하기 위해 정수의 몇 가지 예를 들어보겠습니다.
SELECT COALESCE (1,2,3);

null 값이 없으므로 비교 값 중 첫 번째 값을 제공합니다. 비교 값에 첫 번째 널 값이 있는 경우 COALESCE 함수는 널 값 뒤에 있는 첫 번째 값을 제공합니다.
SELECT COALESCE (null,2,3);

null이 두 번째 위치에 있으면 COALESCE는 첫 번째 위치에 있는 0이 아닌 값을 반환해야 합니다.
SELECT COALESCE (12,null,3);

세 번째 위치에 null 값이 있으면 COALESCE 함수는 결과로 null이 아닌 첫 번째 값을 반환합니다.
SELECT COALESCE (121,34,null);

이제 테이블의 모든 값이 null인 경우를 가정하고 다음 명령을 실행합니다.
SELECT COALESCE (null,null,null);

출력에서 모든 값이 null이면 출력이 null이 되도록 지워졌습니다. 위의 예의 결과를 요약하면 숫자 목록이 있고 "null 값"의 참조를 사용하여 값을 빼야 하는 경우 첫 번째 위치에 null 값이 있는 경우 , COALESCE 함수는 null 값 이후에 null이 아닌 첫 번째 값을 반환합니다. null 값이 첫 번째 위치가 아닌 다른 위치에 있으면 COALESCE 함수는 목록에 있는 null이 아닌 첫 번째 값을 찾습니다. COALESCE 함수를 사용하여 비교되는 숫자 중 모든 값이 null이면 COALESCE 함수는 출력에 null 값을 제공합니다.
데이터를 표시할 수 있는 데이터베이스의 이름이 "Student_names"인 테이블을 고려하십시오.
SELECT * FROM Student_names;

이제 null 값에 대한 참조와 함께 COALESCE 함수를 사용하여 First_name, Middle_name 및 Last_name의 값을 비교하고 결과를 Name으로 반환하려고 합니다.
SELECT student_id, COALESCE (first_name, middle_name,last_name) as Name FROM Student_names;

출력에서, 우리는 student_id=2에서 null 항목이 Middle_name에 있으므로 First_name의 이름을 사용하고, student_id=3에서 null 값이 student_id=4에서 First_name에 있기 때문에 Middle_name을 선택했음을 알 수 있습니다. null 값이 Last_name에 있으므로 First_name을 선택하고 student_id=5에서 모든 값이 null이므로 null을 반환합니다. 모든 값이 null이면 명령에 작성한 내용을 인쇄할 수 있습니다. 예를 들어 모든 값이 null이면 "No_name_found"를 인쇄하도록 인쇄합니다.
SELECT student_id, COALESCE (first_name, middle_name,last_name,”no_name_found”) as Name FROM Student_names;

출력에서 모든 값이 null일 때 null 값을 반환하는 대신 명령에 작성한 텍스트를 인쇄하는 것을 볼 수 있습니다.

결론


COALESCE 및 IS NULL 쿼리는 모두 null 값을 처리하는 것과 동일합니다. COALESCE를 사용하여 "IS NULL"쿼리가 하나의 열에만 적용 가능한 둘 이상의 열을 비교할 수 있습니다. 이 글에서는 COALESCE의 작동 방식을 이해하기 위해 COALESCE의 간단한 예제를 설명하고 테이블에서 COALESCE 함수가 작동하는 방식을 이해하기 위해 테이블의 예제를 사용합니다.