Tôi đang làm việc với một chút biến chứng hiển thị ở đây. Tôi chắc chắn có khả năng nếu/khác tôi chỉ đang nhìn.
Tôi có 2 bảng tôi đang truy vấn [khách hàng, địa chỉ]. Đầu tiên có hồ sơ chính, nhưng thứ hai có thể có hoặc không có bản ghi để tham gia.
Tôi muốn hiển thị số 0 nếu không có bản ghi trong bảng địa chỉ. Và tôi chỉ muốn hiển thị 1, nếu một bản ghi tồn tại.
Những gì tôi đã cố gắng cho đến nay:
SELECT c.name, COALESCE[a.addressid,0] AS addressexists
FROM customers c
LEFT JOIN addresses a ON c.customerid = a.customerid
WHERE customerid = 123
Ví dụ đầu tiên này không làm điều đó. Nhưng tôi có thể đang sử dụng hợp kim sai.
Làm thế nào tôi có thể hiển thị 0, nếu null và 1, nếu có gì đó tồn tại?
Giá trị null là gì?
Một trường có giá trị null là một trường không có giá trị.
Nếu một trường trong bảng là tùy chọn, có thể chèn một bản ghi mới hoặc cập nhật bản ghi mà không cần thêm giá trị vào trường này. Sau đó, trường sẽ được lưu với giá trị null.
Lưu ý: Giá trị null khác với giá trị 0 hoặc trường chứa khoảng trắng. Một trường có giá trị null là một trường đã bị bỏ trống trong quá trình tạo kỷ lục! A NULL value is different from a zero value or a field that contains spaces. A field with a NULL value is one that has been left blank during record creation!
Làm thế nào để kiểm tra các giá trị null?
Không thể kiểm tra các giá trị null với các toán tử so sánh, chẳng hạn như =,,
Thay vào đó, chúng tôi sẽ phải sử dụng các toán tử IS NULL
và
IS NOT NULL
.
Là cú pháp null
Chọn cột_namesfrom bảng_name trong đó cột_name là null;
FROM table_name
WHERE column_name IS NULL;
Không phải là cú pháp null
Chọn cột_namesfrom bảng_name trong đó cột_name không phải là null;
FROM table_name
WHERE column_name IS NOT NULL;
Cơ sở dữ liệu demo
Dưới đây là một lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu Northwind:
1 | Alfreds Futterkiste | Maria Anders | Obere str. 57 | Berlin | 12209 | nước Đức |
2 | Ana Trujillo Emparedados Y Helados | Ana Trujillo | Avda. de la constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | Xung quanh sừng | Thomas Hardy | 120 Hanover sq. |
5 | London | WA1 1DP | Vương quốc Anh | Berglunds Snabbköp | Christina Berglund | Berguvsvägen 8 |
Luleå
S-958 22
Thụy Điển
Thí dụ
Toán tử null là
FROM Customers
WHERE Address IS NULL;
Toán tử IS NULL
được sử dụng để kiểm tra các giá trị trống [giá trị null].
SQL sau đây liệt kê tất cả các khách hàng có giá trị null trong trường "Địa chỉ": Always use IS NULL to look for NULL values.
Chọn Tùy chỉnh, ContactName, Địa chỉ Địa chỉ Địa chỉ Địa chỉ là NULL;
Hãy tự mình thử »
Mẹo: Luôn luôn sử dụng là null để tìm kiếm các giá trị null.
Thí dụ
Toán tử không phải là null
FROM Customers
WHERE Address IS NOT NULL;
Toán tử IS NULL
được sử dụng để kiểm tra các giá trị trống [giá trị null].
MySQL không phải là ràng buộc
Theo mặc định, một cột có thể giữ các giá trị null.
Ràng buộc
expression IS NOT NULL0 thực thi một cột để không chấp nhận các giá trị null.
Điều này thực thi một trường luôn chứa một giá trị, điều đó có nghĩa là bạn không thể chèn một bản ghi mới hoặc cập nhật bản ghi mà không cần thêm giá trị vào trường này.
Không phải là NULL trên bảng tạo
SQL sau đây đảm bảo rằng các cột "ID", "LastName" và "FirstName" sẽ không chấp nhận các giá trị null khi bảng "người" được tạo:
Thí dụ
Tạo bảng bảng [& nbsp; & nbsp; & nbsp; id int not null, & nbsp; & nbsp; & nbsp; lastName varchar [255] không null, & nbsp; int];
ID int NOT NULL,
LastName varchar[255] NOT NULL,
FirstName varchar[255] NOT NULL,
Age int
];
Không phải NULL trên bảng thay đổi
Để tạo ràng buộc
expression IS NOT NULL0 trên cột "tuổi" khi bảng "người" đã được tạo, hãy sử dụng SQL sau: sau:
Thí dụ
Tạo bảng bảng [& nbsp; & nbsp; & nbsp; id int not null, & nbsp; & nbsp; & nbsp; lastName varchar [255] không null, & nbsp; int];
MODIFY Age int
NOT NULL;
Hướng dẫn MySQL này giải thích cách sử dụng MYSQL không phải là điều kiện NULL với cú pháp và ví dụ.IS NOT NULL condition with syntax and examples.
Sự mô tả
MYSQL không phải là điều kiện NULL được sử dụng để kiểm tra giá trị không null trong câu lệnh CHỌN, CHUNG, CẬP NHẬT hoặc XÓA.
Cú pháp
Cú pháp cho điều kiện không phải là NULL trong MySQL là:
expression IS NOT NULL
Tham số hoặc đối số
Biểu thức Giá trị để kiểm tra nếu nó là một giá trị không null.Ghi chú
- Nếu biểu thức không phải là một giá trị null, điều kiện sẽ đánh giá là true.
- Nếu biểu thức là một giá trị null, điều kiện đánh giá là sai.
Ví dụ - với câu lệnh select
Dưới đây là một ví dụ về cách sử dụng MySQL không phải là điều kiện NULL trong câu lệnh Chọn:
SELECT * FROM contacts WHERE last_name IS NOT NULL;
MYSQL này không phải là ví dụ NULL sẽ trả về tất cả các bản ghi từ bảng Danh bạ trong đó Last_Name không chứa giá trị null.
Ví dụ - với câu lệnh chèn
Dưới đây là một ví dụ về cách sử dụng MySQL không phải là điều kiện NULL trong một câu lệnh chèn:
INSERT INTO contacts [contact_id, contact_name] SELECT account_no, supplier_name FROM suppliers WHERE category IS NOT NULL;
MYSQL này không phải là ví dụ NULL sẽ chèn các bản ghi vào bảng Danh bạ trong đó danh mục không chứa giá trị null.
Ví dụ - với câu lệnh cập nhật
Dưới đây là một ví dụ về cách sử dụng MySQL không phải là điều kiện NULL trong câu lệnh cập nhật:
UPDATE contacts SET status = 'completed' WHERE last_name IS NOT NULL;
MYSQL này không phải là ví dụ NULL sẽ cập nhật các bản ghi trong bảng Danh bạ trong đó Last_Name không chứa giá trị null.
Ví dụ - với tuyên bố xóa
Dưới đây là một ví dụ về cách sử dụng MySQL không phải là điều kiện NULL trong câu lệnh xóa:
DELETE FROM contacts WHERE last_name IS NOT NULL;
MYSQL này không phải là ví dụ NULL sẽ xóa tất cả các bản ghi từ bảng Danh bạ trong đó Last_Name không chứa giá trị null.