🧚 주목! Beekeeper Studio는 빠르고 현대적이며 오픈 소스 데이터베이스 GUI입니다 다운로드
July 24, 2025 작성자: Matthew Rathbone

Understanding the COALESCE Function in MySQL

Handling NULL values effectively is a common challenge in SQL. MySQL provides various functions to deal with NULLs, one of which is the COALESCE function. In this article, we’ll explore how to use COALESCE in MySQL and understand its practical applications.

The COALESCE function is part of MySQL’s robust set of functions for handling NULL values and data manipulation.

What is COALESCE?

The COALESCE function returns the first non-NULL value in a list. It’s useful when you want to ensure you?re working with actual data rather than unknowns.

Syntax

COALESCE(val1, val2, ..., valN)
  • val1, val2, …, valN are the values to evaluate.
  • The return type will be the same as the first non-NULL value in the list.

Basic Usage of COALESCE

Let’s start with a simple example to see how COALESCE works:

SELECT COALESCE(NULL, NULL, 'Apples', 'Bananas') AS Result;

Expected Output

+--------+
| Result |
+--------+
| Apples |
+--------+

In this example, COALESCE returns ‘Apples’ because it is the first non-NULL value.

Handling NULLs in Table Data

Imagine you have an employees table with optional contact columns:

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    phone VARCHAR(15)
);

INSERT INTO employees (name, email, phone) VALUES
('John Doe', 'john@example.com', NULL),
('Jane Smith', NULL, '123-456-7890'),
('Alice Johnson', NULL, NULL);

Query with COALESCE

You want to retrieve the preferred contact method for each employee. Here’s how COALESCE can help:

SELECT 
    name, 
    COALESCE(email, phone, 'No Contact Available') AS contact_method
FROM 
    employees;

Expected Output

+---------------+--------------------+
| name          | contact_method     |
+---------------+--------------------+
| John Doe      | john@example.com   |
| Jane Smith    | 123-456-7890       |
| Alice Johnson | No Contact Available |
+---------------+--------------------+

In this case, the query checks email first, then phone, and defaults to ‘No Contact Available’ if both are NULL.

Combining with Other SQL Functions

COALESCE can be combined with other functions to transform data more robustly. Consider the following example which uses IFNULL along with COALESCE:

SELECT 
    id,
    name,
    COALESCE(email, phone, 'No Contact') AS contact,
    IFNULL(phone, 'N/A') AS phone_number
FROM 
    employees;

Expected Output

+----+---------------+--------------------+-------------+
| id | name          | contact            | phone_number|
+----+---------------+--------------------+-------------+
| 1  | John Doe      | john@example.com   | N/A         |
| 2  | Jane Smith    | 123-456-7890       | 123-456-7890|
| 3  | Alice Johnson | No Contact         | N/A         |
+----+---------------+--------------------+-------------+

Here, COALESCE determines the best contact method while IFNULL provides a default value specifically for the phone_number column.

Conclusion

Using COALESCE in MySQL is a powerful way to handle NULL values, ensuring your queries produce meaningful results even when some data is missing. It provides flexibility in selecting the first non-NULL value across columns, helping maintain data integrity and usability.

For more advanced MySQL topics, check out our guides on MySQL Full Outer Join and MySQL Subtraction Techniques. Learn to harness SQL functions to build robust applications and insightful data analyses.

If you’re working with complex MySQL queries, Beekeeper Studio provides an intuitive interface for testing and debugging your COALESCE expressions with real-time results.

Beekeeper Studio는 무료 & 오픈 소스 데이터베이스 GUI입니다

제가 사용해 본 최고의 SQL 쿼리 & 편집기 도구입니다. 데이터베이스 관리에 필요한 모든 것을 제공합니다. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio는 빠르고 직관적이며 사용하기 쉽습니다. Beekeeper는 많은 데이터베이스를 지원하며 Windows, Mac, Linux에서 훌륭하게 작동합니다.

Beekeeper의 Linux 버전은 100% 완전한 기능을 갖추고 있으며, 기능 타협이 없습니다.

사용자들이 Beekeeper Studio에 대해 말하는 것

★★★★★
"Beekeeper Studio는 제 예전 SQL 워크플로를 완전히 대체했습니다. 빠르고 직관적이며 데이터베이스 작업을 다시 즐겁게 만들어 줍니다."
— Alex K., 데이터베이스 개발자
★★★★★
"많은 데이터베이스 GUI를 사용해 봤지만, Beekeeper는 기능과 단순함 사이의 완벽한 균형을 찾았습니다. 그냥 작동합니다."
— Sarah M., 풀스택 엔지니어

SQL 워크플로를 개선할 준비가 되셨나요?

download 무료 다운로드