Rumah >pangkalan data >SQL >kes sql apabila digunakan

kes sql apabila digunakan

DDD
DDDasal
2023-07-17 15:42:442191semak imbas

sql case apabila penggunaan adalah untuk membolehkan operasi berbeza dilakukan berdasarkan keadaan berbeza. Sama ada klasifikasi mudah atau keadaan bersarang yang kompleks, pernyataan CASE WHEN menyediakan cara yang fleksibel dan boleh dibaca untuk mengendalikan situasi yang berbeza. Dengan menguasai dan menggunakan pernyataan CASE WHEN dengan cekap, kami boleh memproses dan menganalisis data dengan lebih baik.

kes sql apabila digunakan

Pernyataan CASE WHEN dalam SQL ialah pernyataan bersyarat yang membolehkan kita melakukan operasi yang berbeza berdasarkan keadaan yang berbeza. Ini sangat berguna dalam pertanyaan dan pemprosesan data kerana ia menyediakan cara yang fleksibel untuk mengendalikan situasi yang berbeza. Dalam artikel ini, kami akan memperkenalkan penggunaan pernyataan CASE WHEN dalam SQL secara terperinci.

Dalam SQL, bentuk umum pernyataan CASE WHEN adalah seperti berikut:

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE default_result
END

Kata kunci CASE digunakan untuk memulakan pernyataan CASE WHEN, diikuti dengan siri klausa WHEN Setiap klausa WHEN mengandungi syarat dan hasil yang berkaitan . Jika syarat itu benar, hasil yang sepadan akan dilaksanakan. Jika semua syarat adalah palsu, keputusan lalai dalam klausa ELSE dilaksanakan. Akhir sekali, kata kunci END digunakan untuk menamatkan pernyataan CASE WHEN.

Berikut ialah contoh mudah yang menunjukkan penggunaan asas pernyataan CASE WHEN:

SELECT
customer_id,
order_date,
CASE
WHEN total_amount > 1000 THEN 'High'
WHEN total_amount > 500 THEN 'Medium'
ELSE 'Low'
END AS order_category
FROM
orders

Dalam contoh ini, kami membahagikan pesanan kepada tiga kategori berdasarkan jumlah pesanan: tinggi, sederhana dan rendah. Jika jumlah pesanan melebihi 1000, ia dikelaskan sebagai "Tinggi"; jika jumlah keseluruhan melebihi 500, ia diklasifikasikan sebagai "Sederhana", jika tidak ia diklasifikasikan sebagai "Rendah". Contoh ini menunjukkan cara menggunakan pernyataan CASE WHEN untuk menambah lajur yang dikira pada pertanyaan.

KES BILA kenyataan juga boleh bersarang, supaya kita boleh mengendalikan keadaan yang lebih kompleks. Sebagai contoh, kita boleh mengklasifikasikan pesanan dengan lebih terperinci berdasarkan jumlah pesanan dan status pesanan. Berikut ialah contoh:

SELECT
customer_id,
order_date,
CASE
WHEN total_amount > 1000 THEN
CASE
WHEN order_status = 'Completed' THEN 'High and Completed'
ELSE 'High and Incomplete'
END
WHEN total_amount > 500 THEN
CASE
WHEN order_status = 'Completed' THEN 'Medium and Completed'
ELSE 'Medium and Incomplete'
END
ELSE
CASE
WHEN order_status = 'Completed' THEN 'Low and Completed'
ELSE 'Low and Incomplete'
END
END AS order_category
FROM
orders

Dalam contoh ini, kami mula-mula mengkategorikan pesanan berdasarkan jumlah jumlahnya dan kemudian membahagikannya lagi berdasarkan status pesanan. Jika jumlah pesanan adalah lebih daripada 1,000, dan status pesanan adalah "Selesai", ia diklasifikasikan sebagai "Tinggi dan Selesai" jika jumlah pesanan lebih daripada 1,000, tetapi status pesanan tidak "; Selesai", ia dikelaskan sebagai "Tinggi" dan Tidak Lengkap", dan sebagainya.

Ringkasan

CASE WHEN pernyataan sangat berguna dalam pertanyaan SQL dan boleh melakukan operasi yang berbeza berdasarkan keadaan yang berbeza. Sama ada klasifikasi mudah atau keadaan bersarang kompleks, pernyataan CASE WHEN menyediakan cara yang fleksibel dan boleh dibaca untuk mengendalikan situasi yang berbeza. Dengan menguasai dan menggunakan pernyataan CASE WHEN dengan cekap, kami boleh memproses dan menganalisis data dengan lebih baik.

Atas ialah kandungan terperinci kes sql apabila digunakan. 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