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















