SQL WHERE IN – Diterangkan Dengan Contoh

SQL WHERE IN – Diterangkan Dengan Contoh

Adakah anda bosan menapis data secara manual dalam pangkalan data anda dan mencari cara yang lebih cekap untuk menapis data dengan berbilang nilai? SQL WHERE IN mungkin penyelesaian yang anda perlukan!

Jika anda bekerja dengan pangkalan data SQL, anda mungkin menjumpai pengendali WHERE IN. Operator ini digunakan untuk menentukan berbilang nilai dalam klausa WHERE, membolehkan anda menapis data anda dengan lebih tepat.

Dengan operator ini, anda boleh menentukan senarai nilai untuk dipadankan dengan lajur dalam jadual anda. Senarai ini boleh dikodkan keras atau dijana oleh subkueri, memberikan anda banyak fleksibiliti dalam cara anda menapis data anda.

SQL WHERE IN – Diterangkan Dengan Contoh

Contohnya, anda boleh menggunakan operator IN untuk mencari semua pelanggan daripada senarai bandar tertentu atau menapis hasil berdasarkan set ID produk.

Salah satu faedah menggunakan pengendali WHERE IN ialah ia boleh menjadikan pertanyaan anda lebih cekap. Dengan menggunakan senarai nilai dan bukannya berbilang syarat ATAU, anda boleh mengurangkan jumlah pemprosesan yang perlu dilakukan oleh pangkalan data.

Ini boleh menjadi penting terutamanya apabila bekerja dengan set data yang besar atau pertanyaan yang kompleks, di mana pengoptimuman kecil pun boleh membuat perbezaan besar dalam prestasi.

Isi kandungan

Apakah SQL WHERE IN Klausa?

Klausa SQL WHERE IN digunakan untuk menapis data berdasarkan senarai nilai. Ia membolehkan anda menentukan berbilang nilai dalam klausa WHERE menggunakan singkatan untuk berbilang syarat ATAU. Sintaks untuk klausa WHERE IN untuk SQL Server , PostgreSQL, MYSQL dan Oracle adalah seperti berikut:

SELECT column_name(s) 
FROM table_name 
WHERE column_name IN (value1, value2, ...); 

Jika kami mempertimbangkan pernyataan SELECT di atas, klausa WHERE IN membenarkan anda mendapatkan semula data daripada jadual yang lajur yang ditentukan sepadan dengan mana-mana nilai dalam senarai. Ia ialah sintaks yang berguna untuk menapis data apabila anda mempunyai set nilai tertentu untuk dicari.

Bagaimanakah SQL WHERE IN Clause Berfungsi?

Klausa berfungsi dengan membandingkan lajur yang ditentukan dengan setiap nilai dalam senarai. Jika lajur sepadan dengan mana-mana nilai dalam senarai, baris tersebut disertakan dalam set hasil.

Katakan anda mempunyai jadual bernama “pelanggan” yang terdiri daripada tiga lajur: “id_pelanggan”, “nama_pelanggan” dan “negara”. Anda ingin mendapatkan semua pelanggan dari Amerika Syarikat, Kanada dan Mexico. Pertanyaan berikut akan menunjukkan kepada anda cara klausa WHERE IN digunakan: SELECT customer_id, customer_name, country FROM customers WHERE country IN ('USA','Canada','Mexico');

Contoh SQL WHERE IN Klausa

Jika anda ingin menapis hasil berdasarkan senarai nilai yang mungkin, anda boleh menggunakan klausa SQL WHERE IN. Klausa ini menyediakan cara mudah untuk memilih baris yang lajur tertentu sepadan dengan satu set nilai.

Berikut ialah lima contoh bagaimana klausa itu boleh digunakan:

  1. Menggunakan SQL WHERE IN Klausa dengan Nilai Tunggal

Katakan anda mahu memilih semua baris dalam jadual yang lajur status ditetapkan kepada "diterbitkan". Anda boleh melakukan ini menggunakan pernyataan SQL berikut:

SELECT * 
FROM my_table 
WHERE status IN ('published');

Ini akan mengembalikan semua baris di mana lajur status ditetapkan kepada "diterbitkan."

  1. Menggunakan SQL WHERE IN Klausa dengan Berbilang Nilai

Sekarang katakan anda mahu memilih semua baris yang lajur status ditetapkan kepada sama ada "diterbitkan" atau "draf". Anda boleh menggunakan pernyataan SQL berikut:

SELECT * 
FROM my_table 
WHERE status IN ('published', 'draft');

Ini akan mengembalikan semua baris di mana lajur status ditetapkan kepada "diterbitkan" atau "draf." Selain itu, anda boleh menambah seberapa banyak nilai yang anda mahu, dipisahkan dengan koma.

  1. Menggunakan SQL WHERE IN Klausa dengan Padam Kenyataan

Katakan anda mempunyai jadual yang dipanggil "pelanggan" dengan data berikut:

SQL WHERE IN – Diterangkan Dengan Contoh

Untuk memadamkan baris daripada jadual ini berdasarkan berbilang nilai dalam lajur "Bandar", klausa SQL WHERE IN boleh digunakan dengan pernyataan DELETE, seperti yang ditunjukkan dalam pertanyaan berikut:

DELETE FROM customers
WHERE City IN ('New York', 'Chicago', 'Miami');

Kenyataan ini akan memadamkan semua baris daripada jadual “pelanggan” di mana nama lajur “Bandar” sepadan dengan mana-mana nilai dalam senarai, iaitu 'New York', 'Chicago', 'Miami'. Dalam contoh di atas, ia akan memadamkan baris pertama, ketiga dan kelima daripada jadual.

Ambil perhatian bahawa apabila menggunakan klausa WHERE IN dengan pernyataan DELETE, anda harus berhati-hati untuk mengelakkan kesilapan dengan memastikan anda memadamkan data yang betul. Adalah lebih baik untuk menguji pertanyaan anda pada subset kecil data sebelum menjalankannya pada keseluruhan pangkalan data anda.

  1. Menggunakan operator WHERE IN dan klausa SQL WHERE untuk menapis data berdasarkan nilai angka

SELECT *
FROM customers
WHERE age IN (25, 30, 35)
AND city = 'London';

Pertanyaan ini akan mengembalikan semua baris daripada jadual "pelanggan" dengan lajur umur mengandungi nilai angka 25, 30 atau 35 dan lajur bandar mengandungi nilai "London".

Ambil perhatian bahawa pengendali WHERE IN ialah pengendali logik yang hanya membenarkan anda untuk menentukan berbilang nilai untuk satu lajur. Pernyataan SELECT digunakan untuk mendapatkan semula data daripada jadual, dan klausa WHERE digunakan untuk menapis data berdasarkan keadaan tertentu.

Dalam contoh ini, pertanyaan mengembalikan baris daripada jadual "pelanggan" di mana lajur umur sepadan dengan salah satu nilai angka yang ditentukan dan lajur bandar sepadan dengan nilai "London". Nama lajur yang digunakan dalam pertanyaan ini ialah "umur" dan "bandar", dan jadual yang disoal ialah "pelanggan".

  1. Menggunakan WHERE IN dengan pernyataan SELECT dan operator IN.

SELECT *
FROM orders
WHERE customer_id IN (
    SELECT customer_id
    FROM customers
    WHERE country = 'USA'
);

Dalam contoh ini, kami menggunakan subkueri untuk mendapatkan semua ID pelanggan daripada jadual "pelanggan" di mana lajur negara mengandungi nilai "AS". Kami kemudian menggunakan operator WHERE IN untuk menapis jadual "pesanan" berdasarkan ID pelanggan tersebut.

Pertanyaan ini akan mengembalikan semua baris daripada jadual pesanan di mana lajur customer_id sepadan dengan salah satu ID pelanggan yang dikembalikan oleh subquery.

Ingat, operator WHERE IN ialah operator perbandingan yang membolehkan anda membandingkan lajur dengan senarai nilai. Dalam kes ini, kami membandingkan lajur customer_id dengan senarai ID pelanggan yang dikembalikan oleh subquery.

Dengan menggunakan operator ini dan subquery, anda boleh menapis data berdasarkan kriteria tertentu dan mendapatkan hanya data yang memenuhi keperluan anda.

2 Faedah Utama Menggunakan SQL WHERE IN Klausa?

  1. Prestasi Pertanyaan yang dipertingkatkan

Klausa tersebut menawarkan salah satu faedah terbesar dari segi prestasi pertanyaan. Apabila menapis data berdasarkan berbilang nilai, menggunakan klausa boleh menjadi lebih cekap dan lebih pantas daripada menulis berbilang klausa WHERE dengan operator OR. Ini kerana enjin pangkalan data boleh mengoptimumkan pelan pelaksanaan pertanyaan untuk mendapatkan semula data yang diperlukan dengan cekap.

Sebagai contoh, pertimbangkan pertanyaan SQL berikut dengan jadual "pelanggan", di mana kami cuba mengenal pasti butiran pelanggan berdasarkan negara mereka.

SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers WHERE country='USA' 
			OR country='Canada' 
			OR country='Mexico' ;

SQL WHERE IN – Diterangkan Dengan Contoh

 SELECT CustomerID,CustomerName,phone,Email,CustomerCounter
FROM customers 
WHERE country IN ('USA', 'Canada', 'Mexico'); 

SQL WHERE IN – Diterangkan Dengan Contoh

Seperti yang dilihat dalam contoh di atas, menggunakan klausa boleh menghasilkan peningkatan yang ketara dalam prestasi pertanyaan dan menjimatkan lebih banyak masa anda. Lebih mudah untuk memilih semua negara sekaligus daripada memilih negara demi negara menggunakan operator ATAU dalam set data yang lebih besar.

  1. Penulisan Pertanyaan Ringkas

Satu lagi faedah utama menggunakan klausa SQ L WHERE IN ialah ia dapat memudahkan proses menulis pertanyaan kompleks. Apabila anda perlu menapis data berdasarkan berbilang nilai, menggunakan berbilang klausa WHERE dengan pengendali OR boleh menjadi rumit dan sukar untuk diuruskan dengan cepat.

Menggunakan klausa membolehkan anda menentukan semua nilai yang anda ingin tapis dalam satu pernyataan, menjadikan pertanyaan anda lebih mudah dibaca dan dikekalkan. Ini amat berguna apabila bekerja dengan set data yang besar atau apabila anda perlu menulis pertanyaan kompleks dengan berbilang syarat.

Sebagai contoh, pertimbangkan pertanyaan SQL berikut:

SELECT *
FROM products 
WHERE category='Electronics' AND (brand='Apple' OR brand='Samsung' OR brand='Sony') 
SELECT *
FROM products 
WHERE category='Electronics' AND brand IN ('Apple', 'Samsung', 'Sony') 

Dalam kedua-dua pertanyaan daripada contoh di atas, pertanyaan itu mengembalikan semua produk "elektronik" daripada Apple, Samsung dan Sony.

Walau bagaimanapun, menggunakan klausa WHERE IN seperti yang dilihat dalam pertanyaan terakhir, boleh memudahkan proses menggunakan pertanyaan kompleks dan menjadikannya lebih mudah dibaca dan difahami.

Tambahan pula, Ia juga membantu mengelakkan ralat dan menjadikannya kurang memakan masa.

Kata Akhir Kami

tahniah! Anda kini sedar tentang cara menggunakan klausa SQL WHERE IN untuk menapis data berdasarkan senarai nilai. Marilah kita menilai apa yang telah kita pelajari:

Dengan menggunakan WHERE IN, anda boleh memudahkan pelbagai pertanyaan SQL dan menciptanya untuk mendapatkan keluaran bertulis yang lebih cekap.

Ingat, WHERE IN ialah singkatan untuk berbilang OR syarat, jadi ia boleh menggantikan senarai panjang pernyataan OR. Selain itu, klausa boleh digunakan dengan subkueri, membolehkan anda menapis data berdasarkan hasil pertanyaan lain.

Apabila menggunakan WHERE IN, adalah penting untuk mempertimbangkan jenis data nilai yang anda bandingkan. Jika jenis data tidak sepadan, anda mungkin perlu menggunakan fungsi penukaran jenis untuk memastikan perbandingan yang tepat.

Secara keseluruhan, klausa SQL WHERE IN ialah sintaks yang berkuasa lagi asas untuk menapis data dalam pertanyaan SQL. Dengan menguasai klausa ini, anda boleh meningkatkan prestasi dan kebolehbacaan kod SQL anda, menjadikannya lebih mudah untuk digunakan dan diselenggara dalam jangka masa panjang.


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu