Memilih Nilai Lalai Tanpa Ketiadaan Rekod Pangkalan Data
Pernyataan SQL yang disediakan gagal apabila nombor yang ditentukan tidak terdapat dalam jadual pangkalan data. Artikel ini membentangkan penyelesaian yang merangkum pertanyaan dalam sub-pertanyaan untuk menetapkan nilai lalai NULL dalam senario sedemikian.
Mengenkapsulasi Pertanyaan
Merangkum pertanyaan asal dalam sub-pertanyaan secara berkesan mengubah ketiadaan hasil menjadi nilai NULL. Pendekatan ini serasi dengan pelbagai sistem pengurusan pangkalan data, termasuk:
Pelaksanaan
PostgreSQL, SQLite, SQL Server dan MySQL
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id;
Oracle (guna dari jadual DUAL)
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;
Firebird
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM RDB$DATABASE;
DB2
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;
Oleh melaksanakan penyelesaian ini, anda boleh memastikan bahawa penyata SQL anda dengan anggun mengembalikan nilai lalai NULL dan bukannya menghadapi ralat apabila data yang ditanya tiada dalam pangkalan data.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Rekod Pangkalan Data yang Hilang dan Mengembalikan Nilai Lalai NULL dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!