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
Barbara Streisandasal
2025-01-22 15:21:10587semak imbas

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:

<code class="language-sql">SELECT
    CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        ...
        ELSE default_result
    END AS new_column_name,
    other_columns
FROM your_table;</code>

Contoh:

<code class="language-sql">SELECT
    CASE
        WHEN IsActive = 'Yes' THEN 'Active'
        WHEN IsActive = 'No' THEN 'Inactive'
        ELSE 'Unknown'
    END AS Status,
    *
FROM Users;</code>

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:

<code class="language-sql">IIF(condition, true_result, false_result)</code>

Contoh:

<code class="language-sql">SELECT
    IIF(OrderTotal > 100, 'High Value', 'Low Value') AS OrderCategory,
    *
FROM Orders;</code>

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:
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