Dalam bidang pertanyaan SQL, klausa IN memainkan peranan penting dalam mendapatkan semula data berdasarkan nilai yang telah ditetapkan. Ia membolehkan pemilihan rekod yang cekap di mana lajur tertentu mengandungi mana-mana nilai yang ditentukan. Walau bagaimanapun, apabila berhadapan dengan berbilang lajur, klausa IN sahaja menjadi tidak mencukupi.
Untuk mengatasi had ini, pelbagai alternatif telah diterokai, termasuk memanfaatkan gabungan dan subkueri. Walau bagaimanapun, kaedah ini menghadapi had apabila kedua-dua jadual utama dan data carian berada dalam pangkalan data.
Pendekatan komprehensif untuk menangani cabaran ini telah muncul, membolehkan pertanyaan lancar merentas berbilang lajur menggunakan klausa IN. Kunci kepada teknik ini terletak pada memanfaatkan tatasusunan atau tupel untuk mewakili berbilang nilai carian.
Pertimbangkan contoh berikut:
SELECT city FROM user WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));
Dalam pertanyaan ini, kami melampirkan berbilang nilai untuk ( firstName, lastName) berpasangan dalam format tatasusunan, dipisahkan dengan koma. Akibatnya, klausa IN secara berkesan membandingkan setiap baris dalam jadual 'pengguna' dengan tupel yang telah ditetapkan ini. Baris yang memenuhi syarat ini diambil, menyediakan bandar yang diingini.
Pendekatan ini menawarkan beberapa kelebihan:
Kesimpulannya, manakala klausa IN tradisional mungkin gagal dalam mengendalikan berbilang lajur, pendekatan berasaskan tatasusunan memperluaskan keupayaannya, menyediakan kaedah yang serba boleh dan cekap untuk menanyakan set data yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Klausa IN SQL dengan Berkesan dengan Berbilang Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!