Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana Cara Menggunakan Pernyataan KASUS di MySQL?

Dengan banyaknya jumlah data yang dihasilkan setiap hari, penting untuk mengambil data berdasarkan beberapa kondisi. Pada artikel CASE statement di MySQL ini, saya akan membahas bagaimana menggunakan statement ini, untuk mengambil data pada satu kondisi atau beberapa kondisi.

Topik berikut akan dibahas dalam artikel ini:

  • Pengantar SQL
  • Apa tujuan SQL?
  • KASUS di MySQL
  • Sintaks CASE di MySQL
  • Contoh CASE di MySQL

Apa itu SQL?

SQL adalah bahasa khusus domain yang banyak digunakan dalam pemrograman. Ini dirancang untuk mengelola data yang terkandung dalam sistem manajemen basis data relasional (RDBMS), atau untuk pemrosesan aliran dalam sistem manajemen aliran data relasional. Secara umum, SQL adalah bahasa standar yang membantu menyimpan, memanipulasi, dan mengambil data dalam database.

Apa tujuan SQL?

SQL pada dasarnya digunakan untuk berkomunikasi dengan database. Menurut ANSI (American National Standards Institute), ini dianggap sebagai bahasa standar untuk sistem manajemen basis data relasional (RDBMS). Kami menggunakan pernyataan SQL untuk melakukan tugas seperti memperbarui, menyisipkan, menghapus, atau mengambil data dari database.

Apakah pernyataan CASE di MySQL?

Pernyataan CASE di MySQL adalah cara menangani logika if/else. Ini adalah semacam pernyataan kontrol yang membentuk sel bahasa pemrograman karena mereka mengontrol eksekusi kumpulan pernyataan lainnya.

Pernyataan CASE melewati berbagai kondisi dan mengembalikan nilai saat dan saat kondisi pertama terpenuhi (seperti pernyataan IF-THEN-ELSE dalam bahasa tingkat rendah). Setelah suatu kondisi benar, itu akan berhenti melintasi dan mengembalikan hasilnya. Jika tidak ada kondisi yang benar, ini mengembalikan nilai dalam klausa ELSE.

Jika tidak ada klausa ELSE dan tidak ada kondisi yang benar, itu hanya mengembalikan NULL.

Sintaks pernyataan CASE di MySQL

Sintaks dasar:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionx THEN resultx
    ELSE result
END;

Ada dua cara untuk mencapai pernyataan CASE-Switch:

  • Mengambil variabel yang disebut case_value dan mencocokkannya dengan beberapa statement_list.
CASE case_value
    WHEN when_value THEN statement_list
    [WHEN when_value THEN statement_list] ...
    [ELSE statement_list]
END;
  • Pertimbangkan kondisi_pencarian alih-alih persamaan variabel dan jalankan daftar_pernyataan yang sesuai.
CASE
    WHEN search_condition THEN statement_list
    [WHEN search_condition THEN statement_list] ...
    [ELSE statement_list]
END;

Contoh pernyataan CASE di MySQL

Mari kita pertimbangkan sebuah tabel:SISWA

Meja Siswa

ID Siswa Nama Departemen Jenis Kelamin
001 Akash CS M
002 Bikram Mekanik M
003 Chandan CS M
004 Deepak CS M
005 Elicia EC F
006 Fernandes Mekanik F

Contoh: Pertimbangkan skenario, di mana Anda harus mengubah nama departemen ke bentuk lengkapnya. Jika nama dept CS, Itu harus dikonversi ke Ilmu Komputer; Demikian juga, Mech harus diubah menjadi Mekanik.dan EC menjadi Elektronik dan Komunikasi.

Contoh Kueri

CASE department_name
WHEN 'CS'
  THEN UPDATE Student SET
  department='Computer Science';
 WHEN 'EC'
  THEN UPDATE Student SET
  department='Electronics and Communication';
 ELSE UPDATE Student SET
 department=’Mechanical';
END;

Keluaran:

Nama departemen yang sesuai diganti namanya sebagai berikut:

ID Siswa Nama Departemen Jenis Kelamin
001 Akash Ilmu Komputer M
002 Bikram Mekanis M
003 Chandan Ilmu Komputer M
004 Deepak Ilmu Komputer M
005 Elicia Elektronik dan Komunikasi F
006 Fernandes Mekanis F

Contoh: Pertimbangkan skenario, di mana Anda harus memilih semua bidang yang sesuai dengan tabel Siswa. Karena nilai yang ditulis dalam bidang Gender adalah nilai karakter tunggal (M/F), mari kita tulis kueri untuk mengubah M menjadi Pria dan F menjadi Wanita.

Contoh Kueri

SELECT Student ID, Name, Department,
CASE Gender
 WHEN'M' THEN 'Male'
 WHEN'F' THEN 'Female'
END
FROM Student;

Keluaran:

ID Siswa Nama Departemen Jenis Kelamin
001 Akash Ilmu Komputer Pria
002 Bikram Mekanis Pria
003 Chandan Ilmu Komputer Pria
004 Deepak Ilmu Komputer Pria
005 Elicia Elektronik dan Komunikasi Wanita
006 Fernandes Mekanis Wanita

Beralih KASUS dalam SQL- Penyortiran Kustom

Contoh Kueri

CREATE PROCEDURE GetStudent(@ColToSort varchar(150)) AS
SELECT StudentID, Name, Gender, Department
FROM Student
ORDER BY
  CASE WHEN @ColToSort='Department' THEN Department
       WHEN @ColToSort='Name' THEN Name
       WHEN @ColToSort='Gender' THEN Gender
       ElSE StudentID
  END;

Keluaran:

Output diurutkan menurut bidang yang disediakan.

Prosedur (fungsi) di atas mengambil variabel tipe data varchar sebagai argumennya, dan atas dasar itu, mengurutkan tupel dalam tabel Siswa. Selain itu, kita juga dapat menggunakan pernyataan CASE untuk membandingkan kondisi.

Contoh: Pertimbangkan tabel bernama CONTACTS yang berisi contactID dan websiteID. Menurut detail ini, pengguna dapat menavigasi melalui tautan ini:‘TechOnTheNet.com’ atau ‘CheckYourMath.com’.

Contoh Kueri

SELECT
CASE
&nbsp;&nbsp;WHEN contact_id < 1000 THEN 'TechOnTheNet.com'
&nbsp;&nbsp;WHEN website_id = 2 THEN 'CheckYourMath.com'
END
FROM contacts;

Sekarang harus jelas bahwa saat menulis pernyataan Kasus di MySQL, salah satu faktor terpenting adalah 'mengurutkannya dengan cara yang benar'. Ingatlah bahwa kondisi dievaluasi dalam urutan yang Anda daftarkan. Setelah kondisi apapun menjadi benar, pernyataan CASE akan mengembalikan hasilnya dan tidak mengevaluasi kondisi lebih jauh. Jadi berhati-hatilah saat memilih urutan yang mencantumkan kondisi Anda.

Jika Anda ingin mempelajari lebih lanjut tentang MySQL dan mengenal database relasional sumber terbuka ini, lihat Pelatihan Sertifikasi DBA MySQL kami yang dilengkapi dengan pelatihan langsung yang dipimpin instruktur dan pelatihan nyata. pengalaman proyek kehidupan. Pelatihan ini akan membantu Anda memahami MySQL secara mendalam dan membantu Anda menguasai subjek tersebut.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar "Pernyataan KASUS di MySQL" ini dan kami akan menghubungi Anda kembali.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL 'Order By' - menyortir alfanumerik dengan benar

  2. SQL UPDATE Syntax – Didaftarkan oleh DBMS

  3. Biarkan pengguna MySQL membuat database, tetapi izinkan akses hanya ke database mereka sendiri

  4. Dapatkan ID kunci utama rekaman baru dari kueri penyisipan MySQL?

  5. MySQLi menyiapkan laporan kesalahan pelaporan