Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menyoal Jadual Dengan Cekap Menggunakan Berbilang Lajur dalam Klausa IN?

Bagaimanakah Saya Boleh Menyoal Jadual Dengan Cekap Menggunakan Berbilang Lajur dalam Klausa IN?

Mary-Kate Olsen
Lepaskan: 2024-12-29 02:12:10
asal
384 orang telah melayarinya

How Can I Efficiently Query a Table Using Multiple Columns in an IN Clause?

Menyiasat Jadual dengan Berbilang Lajur dalam Klausa IN

Dalam SQL, menggunakan klausa IN membolehkan anda menapis data berdasarkan set nilai untuk lajur tertentu. Walau bagaimanapun, menggunakan klausa IN dengan berbilang lajur boleh mencabar.

Untuk mengatasi had ini, pelbagai penyelesaian telah dicadangkan, termasuk menggunakan cantuman atau klausa EXISTS. Walau bagaimanapun, kaedah ini memerlukan kedua-dua jadual utama dan data carian berada dalam pangkalan data.

Penyelesaian Alternatif

Untuk kes di mana kedua-dua jadual utama dan data carian adalah tidak tersedia dalam pangkalan data, penyelesaian alternatif boleh digunakan:

  • Bina Pilihan Kompleks Pertanyaan:
    Buat pertanyaan pilihan yang menentukan syarat individu untuk setiap pasangan nilai, seperti:
SELECT city FROM user WHERE (firstName='x' AND lastName='y') OR (firstName='a' AND lastName='b') OR ...
Salin selepas log masuk
  • Buat Jadual Pementasan dan Sertai:
    Muat naik nilai carian ke dalam jadual pementasan dan sertai jadual ini dengan jadual utama untuk menapis data.

Penyelesaian Pilihan

Penyelesaian pilihan bergantung pada kes penggunaan khusus:

  • Untuk set data kecil, kompleks pendekatan pertanyaan pilih mungkin mencukupi.
  • Untuk set data yang lebih besar, jadual pementasan dan kaedah gabungan menawarkan penambahbaikan prestasi.

IN Klausa dengan Berbilang Lajur

Walau bagaimanapun, penyelesaian yang lebih baharu telah muncul yang memudahkan proses menanyakan berbilang lajur menggunakan klausa IN:

SELECT city FROM user WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));
Salin selepas log masuk

Pendekatan ini membolehkan anda menentukan berbilang lajur dalam kurungan klausa IN, menjadikannya lebih mudah dan cekap untuk menapis data berdasarkan gabungan nilai.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Jadual Dengan Cekap Menggunakan Berbilang Lajur dalam Klausa IN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan