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

MySQL:pilih * dari tabel di mana col IN (null, ) dimungkinkan tanpa OR

SELECT  *
FROM    mytable
WHERE   COALESCE(col, '') = ''

Namun, perhatikan, selain OR kueri akan jauh lebih efisien jika kolom diindeks:

SELECT  *
FROM    mytable
WHERE   col = '' OR col IS NULL

Ini akan menggunakan ref_or_null jalur akses pada indeks.

Jika Anda perlu memilih dari daftar nilai bersama dengan NULLs , cukup masukkan semua nilai bukan-null ke dalam daftar dan tambahkan satu OR IS NULL kondisi:

SELECT  *
FROM    mytable
WHERE   col IN ('val1', 'val2', 'val3') OR col IS NULL

Ini akan menggunakan indeks pada col juga.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Pesan berdasarkan bidang, letakkan sel kosong di akhir

  2. playframework 2.0 - melebihi max_user_connections pada evolusi basis data?

  3. Kueri Pilih grup berdasarkan karakter terakhir di bidang

  4. Menyimpan informasi kartu kredit di database MySQL?

  5. Cara menulis kueri MySQL di mana A berisi ( a atau b )