Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Logik Bersyarat dalam Pernyataan SELECT SQL?

Bagaimana untuk Melaksanakan Logik Bersyarat dalam Pernyataan SELECT SQL?

Barbara Streisand
Lepaskan: 2025-01-22 15:21:10
asal
657 orang telah melayarinya

How to Implement Conditional Logic in SQL SELECT Statements?

Logik Bersyarat dalam Pernyataan SELECT SQL

Penyataan

SQL SELECT tidak menyokong binaan IF...THEN secara langsung. Walau bagaimanapun, dua alternatif berkesan wujud untuk melaksanakan logik bersyarat: pernyataan CASE dan fungsi IIF (tersedia dalam dialek SQL tertentu).

Menggunakan Penyata KES

Pernyataan CASE mencerminkan kefungsian IF...THEN dalam bahasa pengaturcaraan lain. Ia menilai keadaan secara berurutan dan mengembalikan nilai berdasarkan syarat pertama yang dipenuhi.

Sintaks:

SELECT
    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE default_result
    END AS new_column_name,
    other_columns
FROM your_table;
Salin selepas log masuk

Contoh:

SELECT
    CASE
        WHEN IsActive = 'Yes' THEN 'Active'
        WHEN IsActive = 'No' THEN 'Inactive'
        ELSE 'Unknown'
    END AS Status,
    *
FROM Users;
Salin selepas log masuk

Pertanyaan ini menambahkan lajur "Status", memperuntukkan 'Aktif', 'Tidak Aktif' atau 'Tidak diketahui' berdasarkan nilai lajur IsActive.

Menggunakan Fungsi IIF (SQL Server)

Fungsi IIF (diperkenalkan dalam SQL Server 2012) menawarkan cara ringkas untuk mengendalikan logik bersyarat dalam SELECT pernyataan.

Sintaks:

IIF(condition, true_result, false_result)
Salin selepas log masuk

Contoh:

SELECT
    IIF(OrderTotal > 100, 'High Value', 'Low Value') AS OrderCategory,
    *
FROM Orders;
Salin selepas log masuk

Contoh ini mencipta lajur "Kategori Pesanan", mengklasifikasikan pesanan sebagai 'Nilai Tinggi' atau 'Nilai Rendah' ​​bergantung pada OrderTotal. Ambil perhatian bahawa IIF adalah khusus untuk SQL Server dan mungkin tidak tersedia dalam sistem pangkalan data lain. Untuk keserasian yang lebih luas, pernyataan CASE biasanya diutamakan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Logik Bersyarat dalam Pernyataan SELECT SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan