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

Cara MEMILIH Catatan Tanpa Nilai NULL di MySQL

Sementara sebagian besar aplikasi akan memiliki beberapa bentuk teknologi sisi server atau bahkan sisi klien yang dapat digunakan untuk menyaring hasil kueri basis data yang mungkin berisi NULL atau nilai kosong, menggunakan bahasa lain dan beban tambahan untuk mengeksekusi kode biasanya lebih mahal untuk server dan, pada kenyataannya, sebagian besar tidak perlu.

Sebagai gantinya, di bawah ini kami akan secara singkat mengeksplorasi cara menggunakan mesin MySQL itu sendiri untuk melakukan tugas ini, hanya mengambil catatan yang Anda inginkan sambil mengecualikan mereka dengan NULL yang mengganggu. kolom dalam campuran.

BUKAN Operator Perbandingan NULL

Sejauh ini metode paling sederhana dan paling mudah untuk memastikan kumpulan hasil kolom tertentu tidak mengandung NULL nilainya adalah dengan menggunakan IS NOT NULL operator perbandingan.

Misalnya, jika kita ingin memilih semua catatan di books tabel tempat primary_author kolom bukan NULL , kueri mungkin terlihat seperti ini:

SELECT
  primary_author,
  published_date,
  title
FROM
  books
WHERE
  primary_author IS NOT NULL;

Karena IS NOT NULL berperilaku sama seperti komparator lainnya, dapat dikombinasikan dengan WHERE lainnya klausa untuk menyaring hasil lebih lanjut, sama seperti jika Anda menggunakan = , > , < , LIKE dan operator perbandingan standar lainnya.

Memfilter NULL dari Beberapa Kolom

Dalam beberapa kasus, Anda mungkin ingin mengambil hasil di mana tidak NULL nilai ada di beberapa kolom. Misalnya, kami memiliki beberapa catatan di books tabel:

id | title                | primary_author  | published_date
1  | The Hobbit           | Tolkien         | 09-21-1937
2  | The Silmarillion     | Tolkien         | 09-15-1977
3  | The Name of the Wind | Rothfuss        | 03-27-2007
4  | The Wise Man's Fear  | Rothfuss        | 03-01-2011
5  | The Doors of Stone   | Rothfuss        | NULL
6  | Beowulf              | NULL            | 01-01-1000

Perhatikan bahwa Pintu Batu (id 5 ) tidak dipublikasikan dan oleh karena itu published_date adalah NULL . Demikian pula, Beowulf (id 6 ) – puisi epik Inggris Kuno yang terkenal – tidak memiliki penulis yang diketahui, jadi primary_author adalah NULL .

Dalam hal ini, kami mungkin ingin membuat kueri untuk hasil yang hanya berisi empat yang pertama record, dengan demikian tidak termasuk dua record terakhir yang memiliki NULL nilai baik dalam primary_author atau published_date . Ini dapat dilakukan dengan pernyataan sederhana ini menggunakan AND dengan beberapa operator perbandingan:

SELECT
  primary_author,
  published_date,
  title
FROM
  books
WHERE
  (
    primary_author IS NOT NULL
  AND
    published_date IS NOT NULL
  );

Catatan:Tanda kurung tidak diperlukan, tetapi merupakan praktik yang baik untuk menyertakan komparator yang dikelompokkan agar lebih mudah dibaca.

Itu dia; operator perbandingan sederhana yang dapat digunakan untuk menyaring semua NULL nilai dalam catatan Anda.


  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 Membuat CRUD Sederhana Menggunakan PHP dan MySQL Dengan Mudah

  2. Menggunakan Suka Di MySQL untuk Operasi Pencarian Menggunakan Pola

  3. Bagaimana cara melihat semua kunci asing ke tabel atau kolom?

  4. SQL ALTER DATABASE Syntax – Didaftarkan oleh DBMS

  5. CONVERT_TZ – Cara Mengubah Zona Waktu MySQL di Query