Επιλογή εγγραφών με βάση συγκεκριμένες τιμές στην Python
Αν χρειάζεται να επιλέξετε μια εγγραφή από μια
ομάδα τιμών πεδίων, μπορείτε να χρησιμοποιήσετε
την εντολή IN. Για παράδειγμα, μπορείτε να επιλέξετε
εγγραφές όπου το πεδίο name έχει
τιμή 'user1', 'user3'
ή 'user4'. Αυτό θα φαίνεται
έτσι: WHERE id IN ('user1',
'user3', 'user4').
Στη αρχή, για τέτοιες περιπτώσεις μπορείτε να χρησιμοποιήσετε
και την εντολή OR,
τότε το πρώτο παράδειγμα θα φαίνεται έτσι:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Η επιλογή με IN φαίνεται απλούστερη
και πιο κομψή.
Παράδειγμα
Ας επιλέξουμε χρήστες όπου το πεδίο id
έχει τιμές 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Αποτέλεσμα του εκτελεσμένου κώδικα:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Παράδειγμα
Μπορείτε να συνδυάσετε την εντολή IN με
άλλες εντολές στο ερώτημα. Ας ξαναγράψουμε
το προηγούμενο παράδειγμα, προσθέτοντας
ότι η ηλικία των χρηστών πρέπει να είναι περισσότερο
από 23 χρόνια:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Αποτέλεσμα του εκτελεσμένου κώδικα:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Πρακτικές ασκήσεις
Επιλέξτε χρήστες των οποίων ο μισθός έχει
τιμές 400 και 900.
Επιλέξτε χρήστες των οποίων η ηλικία είναι
25, 27 και 28 χρόνια. Με
την προϋπόθεση ότι το id είναι περισσότερο από 2.