Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada kueri SQL yang akan selalu mengembalikan hasil nol?

Bergantung pada DBMS, satu atau lebih dari berikut ini akan berfungsi:

  • SELECT NULL LIMIT 0 (Sintaks PostgreSQL dan MySQL) / SELECT TOP 0 1 (Sintaks MS SQL Server)
  • SELECT NULL WHERE FALSE (DBMS dengan tipe boolean, misalnya PostgreSQL) SELECT NULL WHERE 1=0 (sebagian besar DBMS)

Untuk Oracle, ini harus dalam bentuk SELECT NULL FROM DUAL , saya yakin, karena Anda tidak dapat memiliki SELECT tanpa FROM klausa dari beberapa macam; tidak yakin versi LIMIT . yang mana / TOP dan WHERE itu akan menerima.

Opsi yang lebih rumit adalah membuat tabel (sementara) dan tidak memasukkan baris apa pun ke dalamnya, yang dapat memberi Anda sejumlah kolom, yang akan memiliki tipe terkait meskipun tidak berisi nilai:

-- PostgreSQL
CREATE TEMP TABLE dummy ( a Int, b VarChar(42) );
SELECT * FROM dummy;

-- MS SQL Server
CREATE TABLE #DUMMY ( a Int, b VarChar(42) );
SELECT * FROM #DUMMY;

Di PostgreSQL, Anda bahkan dapat membuat tabel tanpa kolom, memungkinkan Anda untuk menetapkan hasil dengan nol baris dan nol kolom :

CREATE TEMP TABLE empty ();
SELECT * FROM empty;

Kemungkinan lain adalah jika DBMS memiliki fungsi set-return, mereka mungkin dapat mengembalikan set kosong. Misalnya, sekali lagi di PostgreSQL karena itu yang paling saya ketahui, Anda dapat memberikan rentang yang tidak valid ke generate_series() :

SELECT * FROM generate_series(0,-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. Cara memfilter tanggal menggunakan datetimepicker melalui database

  2. SQL - Masukkan formulir ke dalam database

  3. Terus dapatkan org.hibernate.exception.JDBCConnectionException:tidak dapat menjalankan kueri

  4. KELOMPOK BERDASARKAN PEMESANAN

  5. Query Parameter MySQL menggunakan Like