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

Oracle DB:Kembalikan kueri kedua jika kueri pertama kosong

Anda dapat menggunakan WITH untuk membuat performa ini lebih baik (dan lebih mudah dirawat):

WITH query1 as (
    select 1, 2
    from dual
    where 1=0
    connect by level <= 10
),
query2 as (
    select 3, 4
    from dual
    connect by level <= 10
)
select *
from query1
union all
select *
from query2
where not exists (
    select null
    from query1
);

Seperti ini seharusnya mengembalikan 10 baris dari query2. Jika Anda menghapus where 1=0 dari query1 (menyebabkannya benar-benar mengembalikan baris), Anda harus mendapatkan 10 baris dari query1.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL - Cara Mengambil 5 nilai tertinggi dari sebuah kolom

  2. Memperbarui Baris dengan Subquery Mengembalikan Beberapa Baris

  3. Pertukaran berat di Oracle 12.1.0.2

  4. Mendeteksi Apakah Nilai Berisi Setidaknya Satu Digit Numerik di Oracle

  5. Pemetaan tipe kustom Oracle UDT untuk tidak ditentukan atau tidak valid