KẾT HỢP MySQL

Trong bài viết này, tôi sẽ thảo luận về Chức năng COALESCE của MySQL với các ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi đã thảo luận về Hàm SUBSTR của MySQL với các ví dụ
Chức năng COALESCE của MySQL

Hàm COALESCE của MySQL trả về giá trị không NULL đầu tiên từ danh sách đã cho. Nếu không có giá trị khác null Hàm COALESCE trả về NULL

cú pháp

Sau đây là cú pháp sử dụng hàm MySQL COALESCE

KẾT HỢP MySQL

Thông số
Biểu thức1 đến Biểu thức_n. Các biểu thức để kiểm tra các giá trị khác null

Giá trị trả về. Hàm COALESCE trả về giá trị khác null đầu tiên trong danh sách các biểu thức hoặc NULL nếu tất cả các giá trị trong danh sách là NULL

ví dụ

Tìm hiểu hàm COALESCE với một số ví dụ và cũng hiểu cách sử dụng hàm COALESCE trong MySQL

Ví dụ 1
CHỌN COALESCE(null, null, 'Apple', 'Ball');
đầu ra. Quả táo

Ví dụ2
SELECT COALESCE('Apple', 'Ball', null, 'Cat', 'Dog');
đầu ra. Quả táo

Ví dụ3
CHỌN KẾT HỢP (null, 10, 20, 30, null, 40);
đầu ra. 10

Ví dụ4
CHỌN COALESCE(null, ‘MySQLTutorials’, ‘dotnettutorials. net');
đầu ra. MySQLHướng dẫn

Ví dụ5
CHỌN KẾT HỢP (null, null, null, null, null);
đầu ra. VÔ GIÁ TRỊ

Ví dụ6
CHỌN COALESCE('dotnettutorials. net', 'Hướng dẫn', 'MySQLTutorials');
đầu ra. ‘dotnettutorials. net

Hàm COALESCE với Bảng cơ sở dữ liệu

Chúng ta sẽ sử dụng bảng Nhân viên sau đây để hiểu cách sử dụng hàm COALESCE với cột bảng cơ sở dữ liệu với các Ví dụ

KẾT HỢP MySQL

Vui lòng sử dụng Tập lệnh SQL sau để tạo và điền vào bảng Nhân viên với dữ liệu mẫu được yêu cầu

CREATE DATABASE Company;
USE Company;

CREATE TABLE Employee (
  Id INT PRIMARY KEY,
  FirstName VARCHAR(45),
  MiddleName VARCHAR(45),
  LastName VARCHAR(45),
  Gender VARCHAR(45) NOT NULL,
  AGE INT NOT NULL,
  City VARCHAR(45)
);

INSERT INTO Employee VALUES (1001, 'John', NULL, 'Doe', 'Male', 25, 'London');
INSERT INTO Employee VALUES (1002, 'Mary', 'Smith', NULL, 'Female', 27, NULL);
INSERT INTO Employee VALUES (1003, NULL, 'James', 'Brown', 'Male', 28, 'London');
INSERT INTO Employee VALUES (1004, NULL, NULL, NULL, 'Male', 28, NULL);
INSERT INTO Employee VALUES (1005, 'Anurag', NULL, 'Mohanty', 'Male', 25, NULL);
INSERT INTO Employee VALUES (1006, 'Pranaya', 'Kumar', 'Rout', 'Female', 27, 'Mumbai');
INSERT INTO Employee VALUES (1007, NULL, NULL, 'Sambit', 'Male', 28, 'Mumbai');
Ví dụ 1

Trong ví dụ dưới đây, chúng tôi sử dụng hàm COALESCE với các giá trị cột Tên, Tên đệm và Họ

CHỌN Id, COALESCE(FirstName, MiddleName, LastName) NHƯ Tên, Giới tính, TUỔI, Thành phố TỪ Nhân viên;

Khi bạn thực hiện truy vấn trên, bạn sẽ nhận được đầu ra sau

KẾT HỢP MySQL

Ví dụ2

Trong ví dụ dưới đây, chúng tôi sử dụng hàm COALESCE với cột Thành phố. Thay vì hiển thị NULL, chúng tôi đang hiển thị NA trong đó giá trị cột thành phố là null

SELECT Id, 
       COALESCE(FirstName, MiddleName, LastName) AS Name, 
       Gender, AGE, COALESCE(City, 'NA') AS City 
FROM Employee;

Khi bạn thực thi Câu lệnh SQL trên, bạn sẽ nhận được đầu ra sau

KẾT HỢP MySQL

Ghi chú. Hàm COALESCE chấp nhận một tham số là danh sách có thể chứa các giá trị khác nhau. Giá trị được trả về bởi hàm COALESCE là giá trị khác null đầu tiên hoặc NULL nếu tất cả các giá trị trong danh sách là NULL

Trong bài viết tiếp theo, tôi sẽ thảo luận về Chức năng MySQL CAST với các ví dụ. Ở đây, trong bài viết này, tôi cố gắng giải thích Hàm COALESCE của MySQL bằng các ví dụ. Tôi hy vọng bài viết này sẽ giúp bạn với nhu cầu của bạn. Tôi muốn có phản hồi của bạn. Vui lòng gửi phản hồi, câu hỏi hoặc nhận xét của bạn về bài viết này

Trong bài viết này, chúng tôi sẽ giải thích chức năng COALESCE trong MySQL là gì và cách sử dụng nó với sự trợ giúp của các ví dụ

Chức năng COALESCE trong MySQL là gì

Hàm COALESCE giúp xác định giá trị khác null đầu tiên từ dữ liệu đã cho và nếu có bất kỳ giá trị null nào trong bảng đã chọn, nó sẽ trả về “null”. Trước khi tiếp tục tìm hiểu các ví dụ, hãy thảo luận về cú pháp chung của COALESCE

Cú pháp chung là

CHỌN KẾT HỢP (giá trị1, giá trị2,. );

Để hiểu cú pháp hàm COALESCE này, chúng ta sẽ lấy một số ví dụ về các số nguyên

CHỌN COALESCE(1,2,3);

KẾT HỢP MySQL

Vì không có giá trị null nên nó đưa ra giá trị đầu tiên trong số các giá trị được so sánh. Nếu có giá trị null đầu tiên trong các giá trị so sánh thì hàm COALESCE sẽ đưa ra giá trị đầu tiên sau giá trị null

CHỌN KẾT HỢP (null,2,3);

KẾT HỢP MySQL

Nếu null xuất hiện ở vị trí thứ hai, thì COALESCE sẽ trả về giá trị khác 0 ở vị trí đầu tiên

CHỌN KẾT HỢP (12, null, 3);

KẾT HỢP MySQL

Nếu giá trị null xuất hiện ở vị trí thứ ba thì kết quả là hàm COALESCE sẽ trả về giá trị không null đầu tiên

CHỌN KẾT HỢP (121,34, null);

KẾT HỢP MySQL

Bây giờ, hãy lấy một trường hợp trong đó tất cả các giá trị của bảng là null, hãy chạy lệnh sau

CHỌN KẾT HỢP (null, null, null);

KẾT HỢP MySQL

Từ đầu ra, rõ ràng rằng nếu tất cả các giá trị là null thì đầu ra sẽ là null. Nếu chúng ta tóm tắt kết quả của các ví dụ trên thì chúng ta có thể nói rằng nếu có một danh sách các số và chúng ta phải lấy các giá trị ra bằng cách sử dụng tham chiếu của “giá trị null”, thì nếu giá trị null xuất hiện ở vị trí đầu tiên

Xét một bảng có tên “Student_names” trong cơ sở dữ liệu có thể hiển thị dữ liệu

CHỌN * TỪ Tên_sinh viên;

KẾT HỢP MySQL

Bây giờ chúng ta muốn so sánh các giá trị của First_name, Middle_name và Last_name bằng cách sử dụng hàm COALESCE với tham chiếu đến một giá trị null và trả về kết quả là Tên

CHỌN student_id, COALESCE (first_name, middle_name,last_name) làm Tên TỪ Student_names;

KẾT HỢP MySQL

Kết quả ta thấy ở phần student_id=2 thì mục null ở Middle_name nên nó lấy tên là First_name, ở student_id=3 thì nó chọn Middle_name vì giá trị null ở First_name, ở student_id=4, . Nếu tất cả các giá trị là null thì nó có thể in những gì bạn viết trong lệnh, ví dụ, chúng tôi muốn in rằng nếu tất cả các giá trị là null thì in “No_name_found”

CHỌN student_id, COALESCE (first_name, middle_name,last_name,”no_name_found”) làm Tên TỪ Student_names;

KẾT HỢP MySQL

Chúng ta có thể thấy từ đầu ra khi tất cả các giá trị là null, nó sẽ in văn bản chúng ta viết trong lệnh thay vì trả về giá trị null

Phần kết luận

Truy vấn COALESCE và IS NULL đều giống nhau vì chúng xử lý các giá trị null. Sử dụng COALESCE, chúng tôi có thể so sánh nhiều cột trong đó truy vấn “IS NULL” chỉ áp dụng trên một cột. Trong bài viết này, chúng tôi đã giải thích bằng các ví dụ đơn giản về COALESCE để hiểu cách hoạt động của nó và sau đó chúng tôi lấy một ví dụ về bảng để hiểu cách thức hoạt động của hàm COALESCE trên bảng

Việc sử dụng kết hợp trong MySQL là gì?

Hàm COALESCE() của MySQL được sử dụng để trả về giá trị khác null đầu tiên trong danh sách các biểu thức . Nếu tất cả các giá trị trong danh sách ước tính là NULL, thì hàm COALESCE() trả về NULL. Hàm COALESCE() chấp nhận một tham số là danh sách có thể chứa các giá trị khác nhau.

Hợp nhất có nhanh hơn NULL không?

Lưu ý rằng vị ngữ trong câu lệnh IF sẽ không bao giờ trả về giá trị đúng, vì vậy chúng tôi biết rằng chúng tôi không kiểm tra mạng hoặc máy khách của mình. Tôi đã chạy các thử nghiệm này nhiều lần trên một số máy chủ khác nhau và ISNULL dường như hoạt động khá ổn định so với COALESCE trung bình 10 hoặc 12 phần trăm

lợi thế của sự kết hợp là gì?

Phương pháp kết hợp giảm số lượng phân vùng trong DataFrame . Coalesce tránh xáo trộn hoàn toàn, thay vì tạo phân vùng mới, nó xáo trộn dữ liệu bằng Hash Partitioner (Mặc định) và điều chỉnh thành các phân vùng hiện có, điều này có nghĩa là nó chỉ có thể giảm số lượng phân vùng.

Cái nào tốt hơn Không hoặc hợp nhất?

lợi thế mà COALESCE có trên ISNULL là nó hỗ trợ nhiều hơn hai đầu vào, trong khi ISNULL chỉ hỗ trợ hai. Một ưu điểm khác của COALESCE là nó là một hàm tiêu chuẩn (cụ thể là được xác định bởi các tiêu chuẩn ISO/ANSI SQL), trong khi ISNULL là hàm dành riêng cho T-SQL