Home >Database >Mysql Tutorial >How to Return a Value (NULL) When No Record is Found in a Database Query?
Return a Value if No Record is Found
Encountering a "no row" error can be frustrating when a specific record is not present in a database table. To resolve this, it's possible to modify the query to return a null value instead of an error.
Solution
The most effective approach is to encapsulate the initial query within a sub-query. By doing so, the "no row" condition is transformed into a null value. This solution has been tested successfully on PostgreSQL, SQLite, SQL Server, and MySQL.
Example Code
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id;
This query will retrieve the ID value if the record exists, or return NULL if it's not found.
Additional Notes
In Oracle, you can select from the dummy 1-row table DUAL to achieve the same result:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;
For DB2, use this syntax:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;
Firebird users can employ this solution:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM RDB$DATABASE;
This technique effectively handles the issue of returning a null value when no record is found, ensuring that queries run smoothly even in the absence of specific data.
The above is the detailed content of How to Return a Value (NULL) When No Record is Found in a Database Query?. For more information, please follow other related articles on the PHP Chinese website!