Ρήτρα SQL Where σε πολλαπλές συνθήκες

Retra Sql Where Se Pollaples Synthekes



Οι βάσεις δεδομένων αποτελούν σημαντικό δομικό στοιχείο των σύγχρονων εφαρμογών. Ωστόσο, οι βάσεις δεδομένων αποθηκεύουν έναν τεράστιο όγκο δεδομένων. Ως εκ τούτου, χρειαζόμαστε τρόπους για να φιλτράρουμε τα δεδομένα και να ανακτούμε μόνο τις απαραίτητες εγγραφές.

Μία από τις πιο διαδεδομένες μεθόδους φιλτραρίσματος δεδομένων της SQL είναι η χρήση της ρήτρας WHERE. Ο όρος WHERE στην SQL μας επιτρέπει να φιλτράρουμε τις εγγραφές με βάση μια δεδομένη συνθήκη. Αυτή η ρήτρα μπορεί να καθορίσει μία ή περισσότερες συνθήκες που μας επιτρέπουν να φιλτράρουμε τις εγγραφές που επιστρέφονται από μια πρόταση SELECT.







Αυτό το σεμινάριο διερευνά τον τρόπο εργασίας με τον όρο WHERE και τον καθορισμό των πολλαπλών συνθηκών σε έναν μόνο όρο που επιτρέπει πιο ελεγχόμενο και αναλυτικό φιλτράρισμα δεδομένων.



Βασικά στοιχεία της ρήτρας SQL WHERE

Ας ξεκινήσουμε με τα βασικά και ας μάθουμε τις βασικές αρχές της εργασίας με τον όρο WHERE στην SQL.



Ας υποθέσουμε ότι έχουμε έναν πίνακα που περιέχει τις πληροφορίες της χώρας και φέρουμε μόνο τις χώρες με πληθυσμό (ανά τετραγωνικό km) που είναι μεγαλύτερος από 100 και έκταση μεγαλύτερη από 2000000.





Μπορούμε να εκτελέσουμε ένα ερώτημα ως εξής:

ΕΠΙΛΕΓΩ * ΑΠΟ το sample_db.country_information
ΟΠΟΥ περιοχή > 2.000.000 ΚΑΙ πληθυσμός_ανά_km_sq > 100 ;


Στο προηγούμενο παράδειγμα, χρησιμοποιούμε τον όρο WHERE και τον τελεστή AND για να καθορίσουμε δύο συνθήκες. Η χρήση του τελεστή AND λέει στην SQL ότι ΠΡΕΠΕΙ να πληρούνται και οι δύο προϋποθέσεις για να συμπεριληφθεί η εγγραφή στο σύνολο αποτελεσμάτων.



Αυτό θα πρέπει να επιστρέψει μόνο τις χώρες που πληρούν τα καθορισμένα κριτήρια ως εξής:


Ας δούμε τους άλλους τελεστές για να καθορίσουμε τις πολλαπλές συνθήκες σε έναν όρο WHERE.

SQL OR Operator

Ο τελεστής OR μας επιτρέπει να καθορίσουμε τις πολλαπλές συνθήκες σε μια πρόταση WHERE. Ωστόσο, σε αντίθεση με έναν τελεστή AND που απαιτεί να πληρούνται όλες οι προϋποθέσεις, ο τελεστής OR απαιτεί να πληρούνται τουλάχιστον μία από τις προϋποθέσεις.

Για παράδειγμα, για να επιλέξετε τις χώρες που έχουν έκταση μεγαλύτερη από 2000000 ή πληθυσμό (ανά τετραγωνικό km) μεγαλύτερο από 100, μπορούμε να εκτελέσουμε το ακόλουθο ερώτημα:

ΕΠΙΛΕΓΩ * ΑΠΟ το sample_db.country_information
ΟΠΟΥ περιοχή > 2.000.000 Ή πληθυσμός_ανά_km_sq > 100 ;


Σε αυτήν την περίπτωση, το ερώτημα θα πρέπει να επιστρέψει τα αποτελέσματα ως εξής:

Χειριστής SQL IN

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

ΕΠΙΛΕΓΩ * ΑΠΟ το sample_db.country_information
ΠΟΥ ΧΩΡΑ ΜΕΣΑ ( 'Ηνωμένες Πολιτείες' , 'Ρωσία' ) ;


Αποτέλεσμα:

SQL NOT Operator

Ο τελεστής NOT μας επιτρέπει να αρνηθούμε μια δεδομένη συνθήκη.

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

ΕΠΙΛΕΓΩ * ΑΠΟ το sample_db.country_information
ΟΠΟΥ ΟΧΙ περιοχή > 2.000.000 ΚΑΙ πληθυσμός_ανά_km_sq > 100 ;


Αποτέλεσμα:

Πολλαπλοί χειριστές SQL

Μπορούμε επίσης να συνδυάσουμε τους πολλαπλούς τελεστές για να καθορίσουμε πιο σύνθετες συνθήκες.

ΕΠΙΛΕΓΩ * ΑΠΟ το sample_db.country_information
ΟΠΟΥ ( χώρα_πληροφορίες.περιοχή > 2.000.000 ΚΑΙ πληθυσμός_ανά_km_sq > 100 ) Ή χώρα = 'Κίνα' ;


Παραγωγή:


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

συμπέρασμα

Μάθαμε πώς να χρησιμοποιούμε τον όρο WHERE για να καθορίσουμε τις πολλαπλές συνθήκες στην SQL. Επιπλέον, καλύψαμε τους τελεστές AND, OR, IN και NOT και ανακαλύψαμε πώς να τους συνδυάσουμε για να δημιουργήσουμε πιο περίπλοκες συνθήκες.