Αντιστοίχιση μοτίβων σε ερωτήματα SQL

Χρησιμοποιώντας χαρακτήρες wildcards για αναπάντεχες αντιστοίχιση

Η αντιστοίχιση προτύπων SQL σας επιτρέπει να αναζητήσετε μοτίβα στα δεδομένα, αν δεν γνωρίζετε την ακριβή λέξη ή τη φράση που αναζητάτε. Αυτό το είδος ερωτήματος SQL χρησιμοποιεί χαρακτήρες μπαλαντέρ για να ταιριάζει με ένα μοτίβο, παρά να τον προσδιορίζει επακριβώς. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το μπαλαντέρ "C%" για να ταιριάζει σε οποιαδήποτε συμβολοσειρά που ξεκινά με κεφαλαίο C.

Χρησιμοποιώντας τον Operator LIKE

Για να χρησιμοποιήσετε μια έκφραση μπαλαντέρ σε ένα ερώτημα SQL, χρησιμοποιήστε τον τελεστή LIKE σε μια ρήτρα WHERE και επισυνάψτε το μοτίβο μέσα σε μοναδικά εισαγωγικά.

Χρησιμοποιώντας το% Wildcard για να εκτελέσετε μια απλή αναζήτηση

Για να αναζητήσετε οποιονδήποτε υπάλληλο στη βάση δεδομένων σας με ένα επώνυμο που αρχίζει με το γράμμα C, χρησιμοποιήστε την ακόλουθη δήλωση Transact-SQL:

SELECT * FROM εργαζόμενοι WHERE last_name LIKE 'C%'

Παραλείποντας μοτίβα χρησιμοποιώντας τη λέξη-κλειδί NOT

Χρησιμοποιήστε τη λέξη-κλειδί NOT για να επιλέξετε εγγραφές που δεν ταιριάζουν με το πρότυπο. Για παράδειγμα, αυτό το ερώτημα επιστρέφει όλες τις εγγραφές των οποίων το τελευταίο όνομα δεν ξεκινά με το C:

SELECT * FROM υπαλλήλους WHERE last_name NOT LIKE 'C%'

Αντιστοίχιση ενός μοτίβου οπουδήποτε Χρησιμοποιώντας το% Wildcard δύο φορές

Χρησιμοποιήστε δύο εμφανίσεις του % wildcard για να ταιριάζει με ένα συγκεκριμένο μοτίβο οπουδήποτε. Αυτό το παράδειγμα επιστρέφει όλες τις εγγραφές που περιέχουν C οπουδήποτε στο τελευταίο όνομα:

SELECT * FROM εργαζόμενοι WHERE last_name LIKE '% C%'

Εύρεση μιας αντιστοίχισης μοτίβων σε μια συγκεκριμένη θέση

Χρησιμοποιήστε το wildcard για να επιστρέψετε δεδομένα σε μια συγκεκριμένη τοποθεσία. Το παράδειγμα αυτό ταιριάζει μόνο εάν το C εμφανίζεται στην τρίτη θέση της στήλης του τελευταίου ονόματος:

SELECT * FROM υπαλλήλους WHERE last_name LIKE '_ _C%'

Υποστηριζόμενες εκφράσεις μπαλαντέρ σε Transact SQL

Υπάρχουν διάφορες εκφράσεις μπαλαντέρ που υποστηρίζονται από το Transact SQL:

Συνδυασμός χαρακτήρων για σύνθετα μοτίβα

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

SELECT * FROM εργαζόμενοι WHERE last_name LIKE '[am]% [^ aeiou]'

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

SELECT * FROM υπαλλήλους WHERE last_name LIKE '____'

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