Rumah > pangkalan data > SQL > teks badan

kes apabila penggunaan dalam sql

DDD
Lepaskan: 2023-07-17 15:37:36
asal
6599 orang telah melayarinya

kes apabila dalam sql digunakan untuk melaksanakan operasi berbeza berdasarkan keadaan berbeza dalam pertanyaan SQL. Anda boleh membuat pertimbangan berdasarkan sebarang syarat dan melakukan operasi yang sepadan berdasarkan keputusan syarat Prinsip kerja penyataan KES WHEN adalah untuk menilai syarat satu demi satu Setelah syarat dipenuhi, operasi yang sepadan akan dilakukan, dan hanya yang pertama yang memenuhi syarat akan dilaksanakan.

kes apabila penggunaan dalam sql

Pernyataan CASE WHEN dalam SQL ialah ungkapan bersyarat yang digunakan untuk melaksanakan operasi berbeza berdasarkan keadaan berbeza dalam pertanyaan SQL. Ia boleh menilai berdasarkan sebarang syarat dan melakukan operasi yang sepadan berdasarkan keputusan syarat. Dalam SQL, sintaks pernyataan CASE WHEN adalah seperti berikut:

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
Salin selepas log masuk

Dalam sintaks ini, condition1 dan condition2 ialah ungkapan bersyarat, yang boleh menjadi sebarang keadaan serasi SQL. result1 dan result2 ialah hasil pelaksanaan, yang boleh menjadi nama lajur, nilai malar atau ungkapan. Keputusan ELSE akhir adalah pilihan dan digunakan untuk mengendalikan situasi lain yang syaratnya tidak dipenuhi.

Prinsip kerja kenyataan CASE WHEN adalah untuk menilai syarat satu persatu dari atas ke bawah Setelah syarat dipenuhi, operasi yang sepadan akan dilaksanakan, dan hanya operasi pertama yang memenuhi syarat akan dilaksanakan. Jika tiada syarat dipenuhi, operasi dalam blok ELSE dilakukan.

Berikut adalah beberapa contoh penyataan KES WHEN:

1. Kenyataan KES WHEN Mudah:

SELECT
customer_name,
CASE
WHEN gender = 'Male' THEN 'Mr.'
WHEN gender = 'Female' THEN 'Ms.'
ELSE 'Unknown'
END AS salutation
FROM
customers;
Salin selepas log masuk

Pertanyaan di atas akan menghasilkan tajuk yang berbeza berdasarkan medan jantina, jika jantinanya ialah 'Mr .', Jika jantina adalah Perempuan, gelaran ialah 'Cik', jika tidak ia adalah 'Tidak diketahui'.

2. Gabungan penyataan CASE WHEN dan fungsi agregat:

SELECT
department_id,
COUNT(*) AS employees_count,
CASE
WHEN COUNT(*) > 10 THEN 'Large'
WHEN COUNT(*) > 5 THEN 'Medium'
ELSE 'Small'
END AS department_size
FROM
employees
GROUP BY
department_id;
Salin selepas log masuk

Pertanyaan di atas akan membahagikan jabatan kepada tiga kategori berbeza: besar, sederhana dan kecil berdasarkan bilangan pekerja di setiap jabatan.

3. Penggunaan pernyataan CASE WHEN dalam klausa WHERE:

SELECT
order_id,
order_date,
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END AS shipped_flag
FROM
orders
WHERE
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END = 1;
Salin selepas log masuk

Pertanyaan di atas hanya akan mengembalikan pesanan yang telah dihantar, dan syarat penapis menggunakan pernyataan CASE WHEN.

Ringkasan

CASE WHEN pernyataan ialah ungkapan bersyarat yang sangat berguna dalam SQL yang boleh melakukan operasi berbeza berdasarkan keadaan berbeza. Ia menyediakan cara yang fleksibel untuk mengendalikan senario yang berbeza, menjadikan pertanyaan lebih ringkas dan intuitif. Sama ada menjana lajur baharu, mengira statistik atau menapis data, pernyataan CASE WHEN boleh memenuhi keperluan anda dan membantu mengoptimumkan pertanyaan SQL.

Atas ialah kandungan terperinci kes apabila penggunaan dalam sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!