Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:Dapatkan kueri untuk selalu mengembalikan tepat satu baris, bahkan ketika tidak ada data yang ditemukan

Ada beberapa cara untuk membuatnya lebih sederhana dan lebih bersih, tetapi ini pada dasarnya menjelaskan tekniknya:

SELECT data_name
FROM data_table
WHERE data_table.type = v_t_id

UNION ALL

SELECT NULL AS data_name
FROM dual
WHERE NOT EXISTS (
    SELECT data_name
    FROM data_table
    WHERE data_table.type = v_t_id
)

Saat bagian pertama dari gabungan kosong, bagian kedua akan berisi baris, saat bagian pertama tidak kosong, bagian kedua tidak akan berisi baris.

Jika kueri membutuhkan banyak waktu, gunakan yang ini:

SELECT * FROM (  
    SELECT data_name
    FROM data_table
    WHERE data_table.type = v_t_id

    UNION ALL

    SELECT NULL AS data_name
    FROM dual
  ) WHERE data_name is not null or ROWNUM = 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan Pembaruan Oracle menggunakan Gabung

  2. Cara bergabung dan mengekstrak di SQL

  3. perbedaan kriteria pencarian antara Suka vs Berisi () di Oracle

  4. Menggunakan Oracle JDeveloper 12c dengan Oracle Database, Bagian 1

  5. Oracle setara dengan java System.currentTimeMillis()?