PostgreSQL DALAM Klausa

Postgresql Dalam Klausa



Terdapat banyak klausa yang boleh anda gunakan dalam PostgreSQL. Klausa IN ialah salah satu daripada klausa ini, dan ia mempunyai banyak faedah apabila anda memahami cara menggunakannya terutamanya apabila digabungkan dengan klausa WHERE. Klausa IN berfungsi terutamanya dengan pernyataan SELECT untuk menapis cara anda mahu pertanyaan dilaksanakan. Apabila dilaksanakan, klausa IN menyemak senarai yang ditentukan untuk melihat sama ada ia sepadan dengan kriteria dan mengeluarkan nilai yang sepadan.

Memahami Cara Bekerja dengan PostgreSQL IN Klausa

Dalam PostgreSQL, anda menggunakan klausa IN dengan klausa WHERE untuk menapis output dengan menyemak senarai nilai, dan hasilnya ialah nilai Boolean.

Berikut ialah sintaks untuk digunakan:







nilai IN (nilai1, nilai2, nilai_n);

Sintaks yang diberikan mengambil nilai dan menyemaknya terhadap nilai1, nilai2 dan nilai_n. Ia kemudian mengembalikan Boolean jika terdapat padanan. Senarai nilai untuk disemak boleh terdiri daripada sebarang jenis literal termasuk rentetan dan integer. Selain itu, anda boleh membuat subquery seperti pernyataan SELECT.



Mari kita bincangkan cara yang berbeza untuk menggunakan pengendali PostgreSQL IN.



1. Bekerja dengan Subkueri

Seperti yang kami nyatakan sebelum ini, nilai untuk diperiksa boleh menjadi subkueri yang mengekstrak nilai menggunakan pernyataan pertanyaan seperti SELECT. Dengan cara ini, anda boleh menanyakan jadual untuk menyemak nilai lajur yang diberikan. Mari kita gunakan jadual berikut untuk contoh kita:





Katakan kami ingin menyemak semua pelanggan yang 'id_pesanan' boleh menjadi mana-mana nilai yang dinyatakan dalam bahagian pertanyaan. Kami menambah nilai sasaran sebagai bahagian pertama pernyataan kami dan kemudian menggunakan klausa WHERE dengan klausa IN untuk mencipta pertanyaan.



Begini cara pertanyaan kami muncul:

PostgreSQL menyemak lajur 'id_pesanan' dalam jadual 'pelanggan' dan mengembalikan semua rekod yang 'id_pesanan' sepadan dengan mana-mana yang kami tentukan dalam kurungan.

Untuk contoh pertama, kami menggunakan kes senarai nilai integer. Kami juga boleh menyemak terhadap rentetan. Ambil perhatian bahawa jika semua rentetan yang anda tentukan tidak sepadan dengan nilai sasaran, tiada apa yang dikembalikan. Contoh berikut mengandungi beberapa rentetan yang tidak terdapat dalam jadual kami. Rentetan sedemikian akan dilangkau dan hanya rentetan yang sepadan itu akan dipaparkan dalam output berikut:

2. Bekerja dengan IN(SELECT)

Kadangkala, menentukan senarai nilai secara manual mungkin tidak berfungsi. Anda boleh memilih untuk menggunakan pernyataan SELECT untuk mengambil senarai nilai daripada jadual anda dan menggunakannya untuk menyemak berbanding nilai sasaran. Menambah jadual berikut pada pangkalan data kami, kami boleh menggabungkannya dengan jadual 'pelanggan' sebelumnya untuk membuat subquery kami:

Katakan kita hanya mahu memaparkan rekod daripada jadual 'pesanan' jika nilai sasaran (order_id) berada dalam jadual 'pelanggan'. Di sini, lajur 'customers.order_id' ialah senarai nilai kami dan kami menyemak nilainya terhadap nilai pada lajur 'orders.order_id'.

Untuk kes ini, hanya tiga entri yang sepadan dengan carian dan itulah yang kami dapat sebagai output untuk klausa IN(SELECT) PostgreSQL kami.

3. Bekerja dengan Klausa NOT IN PostgreSQL

Menggunakan arahan sebelumnya, kita boleh memilih untuk memaparkan nilai lain yang tidak sepadan dengan nilai sasaran. Untuk itu, kami melakukan perkara yang bertentangan dengan apa yang dilakukan oleh klausa IN. Oleh itu, kami menafikan arahan untuk TIDAK MASUK.

Begini cara kami menulis arahan baharu kami:

Perhatikan bahawa kita mendapat output yang berbeza daripada yang kita dapat dalam contoh 2. Itu kerana kita bekerja dengan NOT IN dan bukannya klausa IN.

Sebaik-baiknya, anda boleh menambah NOT bila-bila masa anda mahu menafikan keputusan yang anda perolehi dengan klausa PostgreSQL IN. Aplikasi tidak berkesudahan. Apabila anda ingin menyemak nilai dan melihatnya padanan dengan cepat, klausa IN ialah kawan baik anda.

Kesimpulan

Klausa IN berfungsi dengan klausa WHERE untuk menyemak nilai sasaran terhadap senarai nilai. Klausa IN mengembalikan Boolean yang mengesahkan jika nilai sasaran mempunyai padanan dalam senarai nilai yang anda tentukan. Anda boleh menentukan nilai sebagai literal atau menggunakan pernyataan SELECT untuk mencipta subquery untuk digunakan. Kami telah memberikan tiga contoh tentang cara anda boleh menggunakan klausa PostgreSQL IN. Mudah-mudahan, itu memberi anda cerapan untuk memahami cara bekerja dengan klausa PostgreSQL IN.