Ο τελεστής 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
Επιστρέφει μόνο στοιχεία που δεν πληρούν την υποδεικνυόμενη συνθήκη Επιστρέφει στοιχεία που πληρούν όλες τις καθορισμένες συνθήκες Επιστρέφει στοιχεία που πληρούν τουλάχιστον μία από τις καθορισμένες συνθήκες
Αρνεί μια συνθήκη που δεν είναι σχετική με την αναζήτηση Συνδυάζει συνθήκες προκειμένου να περιορίσει την αναζήτηση σε στοιχεία που ανταποκρίνονται σε πολλαπλά κριτήρια αναζήτησης Περιορίζει τα αποτελέσματα αναζήτησης σε στοιχεία που πληρούν τουλάχιστον ένα από τα διάφορα κριτήρια
Tip

Θέλεις να εμβαθύνεις στη γλώσσα 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)
sql

SQL 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.

Go to Main Menu