Πώς να χρησιμοποιήσετε τη συνάρτηση SQL `NOT`
Ο τελεστής SQL NOT είναι ένας λογικός τελεστής που διευκολύνει το αποτελεσματικό και ακριβές φιλτράρισμα των αποτελεσμάτων αναζήτησης μέσω της εξαίρεσης. Μπορείτε να χρησιμοποιήσετε τον τελεστή NOT για να παραλείψετε δεδομένα που δεν πληρούν μια συνθήκη, περιορίζοντας τα αποτελέσματά σας στις σχετικές πληροφορίες.
Τι είναι ο τελεστής SQL NOT;
Μαζί με τους τελεστές OR και AND, NOT είναι ένας από τους λογικούς τελεστές της SQL που μπορούν να χρησιμοποιηθούν για τη διατύπωση συνθηκών και κριτηρίων σε ερωτήματα δεδομένων. Ενώ οι τελεστές AND και OR επιστρέφουν τα στοιχεία από τα σύνολα δεδομένων που πληρούν όλες ή μία από τις συνθήκες, NOT βασίζεται στην εξαίρεση. Αποκλείει από τα αποτελέσματα της αναζήτησής σας όλες τις πληροφορίες που δεν πληρούν μια συγκεκριμένη συνθήκη.
Το SQL NOT χρησιμοποιείται συχνά με SELECT, WHERE και το SQL HAVING. Μπορείτε να συνδυάσετε NOT με AND και OR για να κάνετε την αναζήτησή σας ακόμα πιο ακριβή. Με αυτόν τον τρόπο θα φιλτράρετε τα άσχετα αποτελέσματα.
Ποια είναι η διαφορά μεταξύ των προτύπων SQL NOT, AND και OR;
Οι κύριες διαφορές μεταξύ των εκδόσεων NOT, AND και OR της SQL μπορούν να συνοψιστούν ως εξής:
SQL NOT |
SQL AND |
SQL OR |
|---|---|---|
| Επιστρέφει μόνο στοιχεία που δεν πληρούν την υποδεικνυόμενη συνθήκη | Επιστρέφει στοιχεία που πληρούν όλες τις καθορισμένες συνθήκες | Επιστρέφει στοιχεία που πληρούν τουλάχιστον μία από τις καθορισμένες συνθήκες |
| Αρνεί μια συνθήκη που δεν είναι σχετική με την αναζήτηση | Συνδυάζει συνθήκες προκειμένου να περιορίσει την αναζήτηση σε στοιχεία που ανταποκρίνονται σε πολλαπλά κριτήρια αναζήτησης | Περιορίζει τα αποτελέσματα αναζήτησης σε στοιχεία που πληρούν τουλάχιστον ένα από τα διάφορα κριτήρια |
Θέλεις να εμβαθύνεις στη γλώσσα SQL, αλλά είσαι ακόμα αρχάριος; Τότε ρίξε μια ματιά στην εισαγωγή μας στη γλώσσα SQL με παραδείγματα.
Ποια είναι η σύνταξη της εντολής SQL NOT;
Η βασική σύνταξη της εντολής SQL NOT έχει ως εξής:
SELECT *
FROM table
WHERE NOT (searchcriteria)sqlΜπορούν να χρησιμοποιηθούν οι ακόλουθες παράμετροι με NOT:
SELECT: Καθορίζει ποιες στήλες πρέπει να συμπεριληφθούν στην αναζήτησή σας. Μπορείτε να χρησιμοποιήσετε τον αστερίσκο*για να πραγματοποιήσετε αναζήτηση σε ολόκληρο τον πίνακα. Μπορείτε επίσης να καθορίσετε μεμονωμένες στήλες με τα πρωτεύοντα και τα ξένα κλειδιά τους.FROM: Καθορίζει τον πίνακα στον οποίο θέλετε να πραγματοποιήσετε αναζήτηση.WHERE: Καθορίζει τις συνθήκες που θέλετε να χρησιμοποιήσετε για να περιορίσετε την αναζήτησή σας. Εδώ μπορείτε να χρησιμοποιήσετεNOT.NOT: Σε συνδυασμό μεWHEREγια να καθορίσετε ποια αποτελέσματα αναζήτησης δεν πρέπει να συμπεριληφθούν.
Αν θέλετε να κάνετε τα αποτελέσματα της αναζήτησής σας ακόμα πιο ακριβή, μπορείτε επίσης να χρησιμοποιήσετε AND και OR.
SQL NOT σε συνδυασμό με AND
Μπορείτε να συνδυάσετε NOT με AND για να αποκλείσετε αποτελέσματα που πληρούν δύο ή περισσότερες προϋποθέσεις.
SELECT *
FROM table
WHERE NOT (condition1 AND condition2)sqlSQL NOT σε συνδυασμό με OR
Μπορείτε να συνδυάσετε NOT με OR για να αποκλείσετε τα αποτελέσματα που πληρούν τουλάχιστον μία συνθήκη.
SELECT *
FROM table
WHERE NOT (condition1 OR condition2)sqlΣε τι χρησιμοποιείται η εντολή SQL NOT;
Υπάρχουν αμέτρητες χρήσεις του SQL NOT σε ερωτήματα και αναζητήσεις. Μεταξύ αυτών περιλαμβάνονται:
- Εξαίρεση δεδομένων που αφορούν πελάτες, παραγγελίες ή προϊόντα με βάση την περιοχή, το έτος, την κατηγορία, την τιμή ή κάποιο άλλο χαρακτηριστικό
- Αγνοώντας δεδομένα που περιέχουν μη έγκυρες ή ελλείπουσες τιμές
- Φιλτράρισμα οικονομικών δεδομένων που δεν πληρούν συγκεκριμένα κριτήρια συναλλαγών
- Εξαιρώντας δεδομένα για υπαλλήλους που δεν ανήκουν σε συγκεκριμένο τμήμα
- Φιλτράρισμα υποψηφίων που δεν διαθέτουν συγκεκριμένα προσόντα
Παραδείγματα SQL NOT
Οι αναζητήσεις με SQL NOT μπορεί να διαφέρουν σημαντικά ανάλογα με την περίπτωση χρήσης. Καθοριστικοί παράγοντες είναι ο τρόπος με τον οποίο ορίζετε τη συνθήκη με τη ρήτρα WHERE, τον τελεστή NOT και άλλους προαιρετικούς τελεστές. Παρακάτω θα σας παρουσιάσουμε τρία παραδείγματα.
Εξαιρουμένων των εργαζομένων ανά περιοχή
Ας υποθέσουμε ότι εργάζεστε σε έναν πίνακα με το όνομα «Employees» και θέλετε να δείτε μόνο τους υπαλλήλους που δεν ζουν στο Ηνωμένο Βασίλειο. Για να το κάνετε αυτό, χρησιμοποιήστε τη στήλη «Country», μια συνθήκη WHERE, έναν τελεστή NOT και τον τελεστή σύγκρισης =.
SELECT *
FROM Customers
WHERE NOT (Country = 'UK')sqlΉ αν θέλατε να δείτε ποια προϊόντα έχουν εξαντληθεί, θα έμοιαζε κάπως έτσι:
SELECT *
FROM Products
WHERE NOT (Inventory > 0)sqlΦιλτράρισμα πελατών
Σε αυτό το παράδειγμα, θα αναζητήσουμε μια ομάδα πελατών που δεν πληρούν συγκεκριμένα κριτήρια. Ας υποθέσουμε ότι δεν θέλετε να εμφανίζονται πελάτες ηλικίας κάτω των 30 ετών που ζουν στο Κάρντιφ. Η αναζήτηση θα έχει ως εξής:
SELECT *
FROM Customers
WHERE NOT (Age < 30 AND City = 'Cardiff')sqlΑποκλεισμός των υποψηφίων που δεν πληρούν τα απαιτούμενα προσόντα
Ας υποθέσουμε ότι θέλετε να αποκλείσετε όλους τους υποψηφίους που δεν διαθέτουν πτυχίο ή τουλάχιστον τρία χρόνια εργασιακής εμπειρίας. Η αναζήτηση αυτή θα έχει την εξής μορφή:
SELECT *
FROM Applicants
WHERE NOT (Degree = ´Bachelor´ OR Experience < 3)sqlΠοιες είναι μερικές εναλλακτικές λύσεις για το SQL NOT;
Η SQL NOT είναι ο μόνος τελεστής που χρησιμοποιεί την άρνηση για να φιλτράρει τα κριτήρια αναζήτησης. Ωστόσο, δεδομένου ότι ο SQL NOT είναι ένας ευέλικτος τελεστής SQL, μπορεί να συνδυαστεί με διάφορες εντολές SQL για την εκτέλεση ακριβών ερωτημάτων. Αυτές οι εντολές περιλαμβάνουν το SQL JOIN και τις συναρτήσεις HAVING του SQL HAVING, όπως το SQL SUM και AVG. Μπορεί επίσης να συνδυαστεί με τελεστές σύγκρισης όπως =, > και το SQL LIKE, καθώς και με τους λογικούς τελεστές AND και OR.