MySQL IF – Fungsi dan Pernyataan (dengan contoh)

Database


Ada dua jenis IF di MySQL: IF Pernyataan dan IF Fungsi. Keduanya berbeda.

Dalam artikel ini, kami menjelaskan keragamannya dan menunjukkan contoh penggunaannya. Kami juga akan melihat fungsi MySQL lainnya.

Isi

Ekspresi MySQL IF

Pada IF Pernyataan tersebut memungkinkan Anda untuk mengkonfirmasi suatu kondisi. Ada tiga jenis MySQL IF Penyataan:

  • IF-THEN
  • IF-THEN-ELSE
  • IF-THEN-ELSEIF-ELSE

Pernyataan MySQL IF-THEN

Kamu dapat memakai IF-THEN Untuk menjalankan sekumpulan kueri SQL berdasarkan suatu kondisi. Berikut adalah sintaks dari pernyataan tersebut:

IF condition THEN 
  statements;
END IF;

Jika kondisi tertentu dievaluasi sebagai berikut:

  • Benar – pernyataan antara IF-THEN Dan END-IF akan dieksekusi
  • Salah – Pernyataan berikut END-IF Blok akan diterapkan

MySQL JIKA-KEMUDIAN-ELSE

Untuk menjalankan perintah saat taruhan aktif IF Blok tidak dievaluasi dengan benar, Anda dapat menggunakan IF-THEN-ELSE. Sintaksnya adalah sebagai berikut:

IF condition THEN
   statements;
ELSE
   else-statements;
END IF;

Jika suatu kondisi ditentukan:

  • Benar – pernyataan antara IF-THEN Dan ELSE akan dieksekusi
  • Salah – Pernyataan berikut ELSE Dan END-IF akan dieksekusi

MySQL JIKA-KEMUDIAN-ELSEIF-ELSE

Menggunakan IF-THEN-ELSEIF-ELSE, Anda dapat menjalankan perintah berdasarkan beberapa kondisi. Sintaksnya adalah sebagai berikut:

IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;

Mari kita periksa setiap blok. Jika bertaruh pada IF-THEN Adalah:

  • benar – Perintah akan dieksekusi
  • false – kondisi elseif akan dievaluasi

Jika lain- bertaruh pada ELSEIF-THEN Adalah:

  • true – pernyataan elseif akan dieksekusi
  • false – Kondisi elseif berikutnya akan dievaluasi

Dan jika tidak ada kondisi nyata di keduanya IF-THEN Dan masuk ELSEIF-THEN Blok, pernyataan lain akan diterapkan.

Contoh ekspresi MySQL IF

Di bagian ini, kami bermaksud untuk meninjau contoh-contohnya IF Gunakan pernyataan

Dalam pernyataan berikut, kami menyatakan menggunakan kondisi berikut: IF-THEN: Jika jumlah semua input kosong di kolom STATUS lebih dari 0, pada output dari pesan “We have rows with NULL !!!” Kamu akan lihat.

DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message="We have rows with NULL!!!";
    END IF;
END$$
DELIMITER ;

di dalam IF-THEN-ELSE Pernyataan, kami menentukan dua kondisi:

  • Jika jumlah semua record yang telah selesai di kolom STATUS adalah 0, pesan “We have rows with NULL !!!” akan ada.
  • Jika jumlah semua catatan yang diselesaikan di kolom STATUS bukan 0, Anda akan melihat “Kami tidak memiliki baris dengan NULL !!!” Pada keluaran
DELIMITER $$
CREATE PROCEDURE GetEmptyStatusNotNull(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE STATUS IS NOT NULL;
    IF sum_null = 0 THEN
        SET Message="We have rows with NULL!!!";
                    ELSE 
        SET Message="We do not have rows with NULL!!!" ;
    END IF;
END$$
DELIMITER ;

Menggunakan IF-THEN-ELSEIF-ELSE Pernyataan, kami menetapkan beberapa kondisi:

  • Jika jumlah semua nilai kosong di kolom STATUS kurang dari 3, pesan “We have rows with NULL !!!” Akan ditampilkan
  • Jika jumlah semua nilai kosong di kolom STATUS lebih dari 3, Anda akan melihat “Kami memiliki NULL, tetapi hasilnya valid !!!”
  • Jika nilai dua kondisi sebelumnya tidak terpenuhi, pesan “Kami tidak memiliki baris dengan NULL !!!” akan ada. Pada keluaran
DELIMITER $$
CREATE PROCEDURE CheckStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE STATUS IS  NULL;
    IF sum_null < 3 THEN
        SET Message="We have rows with NULL!!!";
    ELSEIF sum_null>3 THEN
        SET Message="We have NULL, but result is valid!!!";  
    ELSE 
        SET Message="We do not have rows with NULL!!!" ;
    END IF;
END$$
DELIMITER ;

fungsi MySQL

pengantar

Pada bagian ini kita akan memeriksa fungsi MYSQL berikut: IFkan NULLIFDan IFNULL.

Apa fungsi MySQLnya?

Sebuah fungsi di MySQL terdiri dari satu set pernyataan SQL dengan parameter tertentu yang melakukan tugas atau operasi dan dengan demikian mengembalikan nilai.

Misalnya, fungsi MySQL Version () mengembalikan versi database MySQL saat ini.

Fungsi JIKA: Definisi, Sintaks, dan Penggunaan

Perhatikan bahwa IF Fungsinya tidak sama IF Penyataan.

partikel untuk objek langsung IF Fungsi mengembalikan nilai untuk kondisi tertentu dan memiliki sintaks berikut:

IF(expr,if_true_expr,if_false_expr)

Fungsi kembali if_true_expr Jika expr Mengevaluasi dengan benar (bukan NULL). Jika tidak, ia kembali if_false_expr. Bergantung pada cara Anda menggunakannya, fungsi IF mengembalikan nilai numerik atau string.

Contoh

Mari kita tinjau beberapa contoh IF Fungsi.

Contoh sederhana dari fungsi MySQL IF

Pada IF Fungsi menerima tiga ekspresi, dan jika yang pertama benar, baik NULL maupun nol tidak mengembalikan ekspresi kedua. Jika tidak, fungsi mengembalikan ekspresi ketiga.

Dalam contoh ini, karena 1 kurang dari 2, fungsi kembali NO:

SELECT IF(1>2, 'YES', 'NO');

Dalam pernyataan berikut, IF Fungsi akan kembali:

  • 3 – Jika kondisinya benar
  • 5 – Jika kondisinya salah
SELECT IF(300<500, 3, 5);

Juga, Anda dapat menggunakan MySQL IF Performa dengan STRCMP Pernyataan berikut akan dikembalikan untuk membandingkan dua string:

  • YES – Jika test Dan test1 Mereka sama
  • Tidak – jika test Dan test1 Mereka berbeda
SELECT IF(STRCMP("test","test1"), "YES", "NO");

Fungsi MySQL IF dengan fungsi massal

Fungsi menghitung jumlah beberapa nilai dan dengan demikian memberikan nilai tunggal. Menggunakan IF Fungsi dengan fungsi tambahan dapat berguna untuk mengambil keluaran tertentu.

Di bagian ini, kita melihat beberapa fungsi kolektif yang dapat digunakan IF Fungsi.

MySQL SUM JIKA

Misalnya, jika Anda ingin mengetahui berapa banyak pekerjaan yang telah Anda selesaikan atau masih rencanakan bulan ini, Anda dapat menggunakan fungsi dengan SUM Fungsi penambahan, seperti query berikut:

SELECT 
    SUM(IF(status="Completed", 1, 0)) AS Completed
FROM
    tasks;

Dalam pertanyaan di atas, jika status pekerjaan selesai atau dijadwalkan, IF Mengembalikan fungsi 1 atau 0 SUM Fungsi menentukan jumlah total tugas yang dijadwalkan dan diselesaikan tergantung pada nilai pengembalian IF Fungsi.

Nomor JIKA MySQL

Dimungkinkan untuk menggabungkannya IF Performa dengan MySQL COUNT Fungsi. Pilih status kerja di bagian tugas Tabel menggunakan kueri berikut:

SELECT DISTINCT
    status
FROM
    orders
ORDER BY status;

SELECT DISTINCT
    status
FROM
   tasks
ORDER BY status;

Dengan menggabungkan IF Performa dengan COUNT, Kita dapat memahami berapa banyak tugas yang ada di setiap situasi pada waktu tertentu. seperti NULL Nilai oleh COUNT Fungsi, IF Fungsi kembali NULL Jika status tidak dalam status yang dipilih dan 1 sebaliknya. Harap perhatikan pertanyaan berikut:

SELECT 
    COUNT(IF(status="Completed", 1, NULL)) Completed,
    COUNT(IF(status="Reopened", 1, NULL)) Reopened,
    COUNT(IF(status="In Progress", 1, NULL)) 'In Progress',
    COUNT(IF(status="In Review", 1, NULL)) 'In Review',
    COUNT(IF(status="Planned", 1, NULL)) 'Planned'
FROM
    tasks;

Anda juga dapat menggunakan hasil yang sama tanpa IF Menggunakan GROUP BY Paragraf dan COUNT Performa, seperti yang ditunjukkan di bawah ini:

SELECT status, COUNT(STATUS)
FROM tasks
GROUP BY status;

Fungsi NULLIF: definisi, sintaks dan aplikasi

MySQL NULLIF Digunakan untuk membandingkan dua istilah:

NULLIF(expr1, expr2)

Fungsi kembali NULL Jika kedua ekspresi sama, ia mengembalikan ekspresi pertama. Mari kita coba dalam praktiknya:

SELECT NULLIF(25, 25);

Seperti yang Anda lihat, kedua ekspresi itu sama, itulah sebabnya fungsinya kembali NULL.

Fungsi IFNULL: Definisi, Sintaks dan Aplikasi

MySQL IFNULL Digunakan untuk memeriksa setiap NULL Nilai dalam ekspresi yang ditentukan:

IFNULL(expr_1, expr_2)

Fungsi kembali expr_1 Jika itu adalah sebuah frase NOT NULL. Jika tidak, ia kembali expr_2 Jika itu adalah sebuah frase NULL. Jadi, misalnya, jika Anda menjalankan:

SELECT IFNULL(NULL, 500);

Anda akan menerima output berikut:

Kembalikan fungsi 500 karena ekspresi di NULL.

Tampilkan N / A alih-alih NULL menggunakan fungsi MySQL IF

Mari membuat spreadsheet MySQL Perusahaan. Banyak karyawan di tabel Karyawan tidak memiliki data di tabel Kota Kolom, dan akibatnya, ketika kita memilih karyawan, Kota Menampilkan kolom NULL nilai-nilai. Harap perhatikan pertanyaan berikut:

SELECT 
    employeeNumber, employeeName, age, city
FROM
    employees;

Untuk meningkatkan output, kita dapat dari IF Berfungsi untuk mengembalikan N / A jika kota NULLSeperti yang ditunjukkan oleh kueri berikut:

SELECT
    employeeNumber,
    employeeName,
    IFNULL(city, 'N/A'),
    age
FROM
    employees;

Hasil

Pada artikel ini, kami melihat perbedaan antara MySQL IF Pernyataan dan IF Memeriksa fungsi MySQL dan fungsi lainnya. Juga, kami telah menunjukkan sebagian kecil dari perubahan penggunaan untuk keduanya. Sebenarnya, ada banyak ekspresi, query, dan fungsi MySQL. Inilah sebabnya mengapa administrator basis data perlu memiliki alat yang andal dan mudah digunakan untuk memfasilitasi pekerjaan rutin mereka. Misalnya, dbForge Studio untuk MySQL dapat menjadi asisten penting Anda untuk mengembangkan, mengelola, dan mengelola database. Alat ini memiliki fitur yang kaya di antaranya Anda dapat menemukan penyelesaian kode dan pemformatan kode dan banyak lagi. Untuk informasi lebih lanjut tentang dbForge Studio untuk MySQL, tonton tutorial video ini.

Postingan tim terbaru DbForge (Lihat semua)



Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.