Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyoal Rekod Pangkalan Data Memadankan Tuple dengan Cekap daripada Senarai?

Bagaimana untuk Menyoal Rekod Pangkalan Data Memadankan Tuple dengan Cekap daripada Senarai?

Patricia Arquette
Patricia Arquetteasal
2024-12-27 14:40:10953semak imbas

How to Efficiently Query Database Records Matching Tuples from a List?

Tuples dalam SQL "IN" Klausa

S: Bagaimanakah kita boleh bertanya dengan cekap jadual pangkalan data untuk rekod yang sepadan dengan tupel daripada kod keras senarai?

J: Sintaks SQL-92 standard menyediakan penyelesaian dengan menggunakan kata kunci VALUES.

SELECT *
FROM mytable
WHERE (group_id, group_type) IN (
                               VALUES ('1234-567', 2),
                                      ('4321-765', 3),
                                      ('1111-222', 5)
                              );

Butiran Pelaksanaan:

  • Sisipkan tupel dalam petikan tunggal, bukan petikan berganda.
  • Tambah kata kunci VALUES sebelum senarai tupel.

Kelebihan Sintaks ini:

  • Menghapuskan keperluan untuk penggabungan dan penukaran rentetan yang mahal.
  • Menyokong tupel dengan berbilang nilai.

Pangkalan data Keserasian:

  • Pangkalan data yang mematuhi SQL-92 standard menyokong sintaks ini.
  • Sehingga SQL Server 2022, Microsoft tidak melaksanakan ciri ini.
  • PostgreSQL dan SQLite ialah contoh pangkalan data yang menyokong sintaks ini.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Rekod Pangkalan Data Memadankan Tuple dengan Cekap daripada Senarai?. 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