PostgreSQL IN, Όχι IN με Παραδείγματα
Τι είναι PostgreSQL Σε ?
Ο τελεστής IN χρησιμοποιείται σε έναν όρο WHERE που επιτρέπει τον έλεγχο εάν μια τιμή υπάρχει σε μια λίστα άλλων τιμών. Σε OperaΗ εφαρμογή βοηθά στη μείωση της ανάγκης για πολλαπλές συνθήκες OR σε προτάσεις SELECT, UPDATE, INSERT ή DELETE.
Σύνταξη
Ο τελεστής IN παίρνει την ακόλουθη σύνταξη:
value IN (value_1, value_2, ...)
Η τιμή είναι η τιμή που ελέγχετε στη λίστα.
Οι τιμές_1, τιμή_2… είναι οι τιμές της λίστας.
Εάν η τιμή βρεθεί στη λίστα, ο χειριστής θα επιστρέψει ένα true.
Η λίστα μπορεί να είναι ένα σύνολο αριθμών συμβολοσειρών ή ακόμα και το αποτέλεσμα εξόδου του a Δήλωση SELECT όπως φαίνεται παρακάτω:
value IN (SELECT value FROM table-name);
Η δήλωση που τοποθετείται μέσα στην παρένθεση είναι γνωστή ως υποερώτημα.
με χαρακτήρα
Ας δείξουμε πώς μπορείτε να χρησιμοποιήσετε τον τελεστή IN με τιμές χαρακτήρων.
Σκεφτείτε τον παρακάτω πίνακα:
εργαζόμενοι:
Ας εκτελέσουμε το ακόλουθο ερώτημα σε σχέση με τον παραπάνω πίνακα:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Επιστρέφει τα εξής:
Έχουμε μια λίστα με τρία ονόματα. Αναζητούμε αν μπορούμε να βρούμε κάποιο από αυτά τα ονόματα στη στήλη ονόματος του πίνακα Υπάλληλοι. Η Kate Joel αντιστοιχίστηκε σε ένα από τα ρεκόρ του πίνακα και τα στοιχεία του επιστράφηκαν.
Με αριθμητικό
Τώρα, ας δούμε πώς μπορούμε να χρησιμοποιήσουμε τον τελεστή IN με αριθμητικές τιμές.
Εξετάστε τον πίνακα τιμών που δίνεται παρακάτω:
Τιμή:
Μπορούμε να εκτελέσουμε το ακόλουθο ερώτημα στον πίνακα:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Αυτό επιστρέφει τα ακόλουθα:
Δημιουργήσαμε μια λίστα με 4 αριθμητικές τιμές. Ελέγχουμε αν μπορούμε να αντιστοιχίσουμε κάποια από αυτές τις τιμές με τις τιμές που περιέχονται στη στήλη τιμή του πίνακα Τιμή. Δύο τιμές αντιστοιχίστηκαν και τα στοιχεία τους επιστράφηκαν.
Χρήση τελεστή NOT
Ο τελεστής IN μπορεί να χρησιμοποιηθεί μαζί με τον τελεστή NOT. Επιστρέφει τις τιμές που δεν βρίσκονται στην καθορισμένη στήλη. Θα χρησιμοποιήσουμε τον πίνακα Τιμών για να το δείξουμε αυτό.
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Αυτό θα επιστρέψει τα ακόλουθα:
Δημιουργήσαμε μια λίστα με 4 αριθμητικές τιμές. Ελέγχουμε τη στήλη τιμών του πίνακα τιμών για τιμές που δεν αποτελούν μέρος της λίστας. Δύο τιμές, 250 και 300, δεν βρέθηκαν. Ως εκ τούτου, τα στοιχεία τους έχουν επιστραφεί.
Χρήση του pgAdmin
Τώρα ας δούμε πώς μπορούν να εκτελεστούν οι ενέργειες χρησιμοποιώντας το pgAdmin.
με χαρακτήρα
Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:
Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.
Βήμα 2)
- Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
- Κάντε κλικ στο Demo.
Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
SELECT * FROM Employees WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.
Θα πρέπει να επιστρέψει τα ακόλουθα:
Με αριθμητικό
Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:
Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.
Βήμα 2)
- Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
- Κάντε κλικ στο Demo.
Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.
Θα πρέπει να επιστρέψει τα ακόλουθα:
Χρήση τελεστή NOT
Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:
Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.
Βήμα 2)
- Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
- Κάντε κλικ στο Demo.
Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.
Θα πρέπει να επιστρέψει τα ακόλουθα:
Σύνοψη
- Ο τελεστής IN χρησιμοποιείται με τον τελεστή WHERE. Επιτρέπει τον έλεγχο εάν μια συγκεκριμένη τιμή υπάρχει σε έναν συγκεκριμένο πίνακα.
- Ο τελεστής IN βοηθά στη μείωση της ανάγκης για πολλαπλούς τελεστές OR σε δηλώσεις SELECT, UPDATE, INSERT ή DELETE.
- Όταν δημιουργείτε μια λίστα χαρακτήρων για να ελέγξετε την παρουσία μιας τιμής, κάθε τιμή στη λίστα πρέπει να περικλείεται μέσα σε μεμονωμένα εισαγωγικά.
- Ο τελεστής IN μπορεί επίσης να χρησιμοποιηθεί με αριθμητικές τιμές.
- Όταν ο τελεστής IN χρησιμοποιείται μαζί με τον τελεστή NOT, επιστρέφει όλες τις τιμές που δεν βρίσκονται στην καθορισμένη στήλη.
Κάντε λήψη της βάσης δεδομένων που χρησιμοποιείται σε αυτό το σεμινάριο