Ρήτρα SQL WHERE IN

Retra Sql Where In



Στην SQL, μπορούμε να χρησιμοποιήσουμε τον όρο WHERE IN για να φιλτράρουμε τα αποτελέσματα σε μια δεδομένη βάση δεδομένων. Ο όρος WHERE IN μας επιτρέπει να επιλέξουμε τις σειρές από μια δεδομένη βάση δεδομένων που ταιριάζουν με μία ή περισσότερες από τις καθορισμένες τιμές από μια δεδομένη λίστα.

Σε αυτό το σεμινάριο, θα εξερευνήσουμε την ρήτρα WHERE IN για να ανακαλύψουμε πώς μπορούμε να τη χρησιμοποιήσουμε για να φιλτράρουμε τα αποτελέσματα από έναν δεδομένο πίνακα ή σύνολο αποτελεσμάτων.

Ρήτρα SQL WHERE IN

Το παρακάτω δείχνει τη βασική σύνταξη του όρου WHERE IN στην SQL:







ΕΠΙΛΟΓΗ στήλη1, στήλη 2, ...
FROM table_name
WHERE στήλη_όνομα IN (τιμή1, τιμή2, ...);

Ξεκινάμε με μια βασική δήλωση «επιλογή» ακολουθούμενη από τις στήλες που θέλουμε να συμπεριλάβουμε στο σύνολο αποτελεσμάτων.



Στη συνέχεια, καθορίζουμε τον πίνακα από τον οποίο θέλουμε να ανακτήσουμε τα αποτελέσματα. Τέλος, καθορίζουμε τη συνθήκη φίλτρου χρησιμοποιώντας την ρήτρα WHERE ακολουθούμενη από το όνομα της στήλης στην οποία θέλουμε να φιλτράρουμε. Μετά την ρήτρα IN, καθορίζουμε μια λίστα τιμών που θέλουμε να χρησιμοποιήσουμε για φιλτράρισμα.



Παράδειγμα 1: Φιλτράρετε ένα μεμονωμένο αποτέλεσμα

Για να δείξουμε καλύτερα πώς χρησιμοποιείται η ρήτρα WHERE IN, ας δούμε ένα παράδειγμα. Εξετάστε τον πίνακα 'ταινία' από τη βάση δεδομένων δειγμάτων Sakila.





Ας υποθέσουμε ότι θέλουμε να ανακτήσουμε όλες τις ταινίες με βαθμολογία PG ή PG-13. Μπορούμε να χρησιμοποιήσουμε την ρήτρα WHERE IN ως εξής:

ΕΠΙΛΟΓΗ τίτλου, έτος κυκλοφορίας, βαθμολογία
ΑΠΟ ταινία
WHERE βαθμολογία IN ('PG');

Σε αυτήν την περίπτωση, παρέχουμε μια λίστα με μία μόνο τιμή που θέλουμε να ανακτήσουμε στον όρο IN.



Παράδειγμα 2: Φιλτράρισμα πολλαπλών τιμών

Μπορούμε επίσης να καθορίσουμε περισσότερα από ένα στοιχεία στη λίστα τιμών. Για παράδειγμα, για να ανακτήσουμε τις ταινίες με μια λίστα με βαθμολογία PG και PG-13, μπορούμε να εκτελέσουμε το ερώτημα ως εξής:

ΕΠΙΛΟΓΗ τίτλου, έτος κυκλοφορίας, βαθμολογία
ΑΠΟ ταινία
WHERE βαθμολογία IN ('PG', 'PG-13');

Η έξοδος που προκύπτει είναι η εξής:

Παράδειγμα 3: Φιλτράρισμα με υποερώτημα

Μπορούμε επίσης να χρησιμοποιήσουμε το WHERE IN σε ένα υποερώτημα που μπορεί να μας επιτρέψει να φιλτράρουμε τα αποτελέσματα από ένα δεδομένο σύνολο αποτελεσμάτων.

Ας υποθέσουμε ότι θέλουμε να φιλτράρουμε τις ταινίες με βάση τη γλώσσα. Για παράδειγμα, για να ανακτήσουμε τις ταινίες στην αγγλική και την ιαπωνική γλώσσα, μπορούμε να χρησιμοποιήσουμε το WHERE IN σε ένα υποερώτημα ως εξής:

ΕΠΙΛΟΓΗ τίτλου, έτος κυκλοφορίας, βαθμολογία
ΑΠΟ την ταινία f
WHERE language_id IN (
SELECT language_id
ΑΠΟ ΤΗ ΓΛΩΣΣΑ
Όνομα WHERE IN ('Αγγλικά', 'Ιαπωνικά')
)

Σε αυτό το παράδειγμα, δημιουργούμε ένα υποερώτημα που ανακτά τις τιμές 'language_id' για τις αγγλικές και ιαπωνικές γλώσσες από τον πίνακα 'languages'. Στο κύριο ερώτημα, επιλέγουμε τις ταινίες με βάση τις τιμές 'language_id' που προκύπτουν.

συμπέρασμα

Σε αυτήν την ανάρτηση, μάθαμε πώς να εργαζόμαστε με τον όρο WHERE IN στο SQL για να φιλτράρουμε τα αποτελέσματα που ταιριάζουν με μία ή περισσότερες τιμές σε μια δεδομένη λίστα.