Có, SELECT NULL hoàn toàn hợp lệ trong MySQL, trả về giá trị NULL cho mỗi hàng kết quả.
Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable(Name VARCHAR(100));
Query OK, 0 rows affected (0.49 sec)
mysql> INSERT INTO DemoTable VALUES
('Chris'), ('Mike'), ('Sam'), ('Bob'), ('David');
Query OK, 5 rows affected
Thực thi SELECT NULL có điều kiện
mysql> SELECT NULL FROM DemoTable WHERE Name = 'Mike';
Kết quả:
+------+ | NULL | +------+ | NULL | +------+ 1 row in set (0.00 sec)
Ứng dụng thực tế:
- Trong
UNIONđể căn chỉnh số cột:SELECT id, name FROM table1 UNION SELECT id, NULL FROM table2 - Trong
EXISTSsubquery:WHERE EXISTS (SELECT NULL FROM ...)(tối ưu hơn SELECT *) - Tạo cột placeholder:
SELECT id, NULL AS future_column FROM users - Test logic:
SELECT NULL IS NULL→ trả về 1 (true)
Lưu ý: SELECT NULL khác SELECT * FROM table WHERE col IS NULL (câu sau lọc hàng có cột NULL).