SQL:ssä meillä ei ole pääsyä StartsWith()-operaattoriin, jonka avulla voimme suorittaa tekstipohjaisen suodatuksen sisällyttämällä tai jättämällä pois minkä tahansa arvon, joka alkaa tietyllä kuviolla.
Tietokannassa, kuten MySQL, voimme kuitenkin käyttää LIKE-operaattoria, jonka avulla voimme suorittaa periaatteessa samat toiminnot
Tässä opetusohjelmassa opastamme sinut läpi kaiken, mitä sinun tulee tietää, kun työskentelet LIKE-operaattorin kanssa. Aloitamme perusasioista ja siirrymme sitten monimutkaisempiin ja käytännöllisempiin sovelluksiin.
HUOMAUTUS: Tässä opetusohjelmassa näytämme, kuinka tätä operaattoria käytetään MySQL-tietokannan, erityisesti MySQL-version 80, avulla. Mutta tämä toimii varmasti myös MySQL 5.0:ssa.
MySQL LIKE -operaattori
SQL:ssä käytämme LIKE-operaattoria suodattamaan tietyn taulukon rivit tietyn merkin tai merkkijoukon perusteella, jonka merkkijono alkaa määritetyllä etuliitteellä.
Yleinen käyttötapaus on noutaa tietueita, jotka vastaavat tiettyä mallia sarakkeen arvon alussa.
Käytämme usein LIKE-operaattoria yhdessä SELECT-käskyn kanssa hakeaksemme tiedot, jotka täyttävät määritetyt kriteerit.
Vaikka syntaksi ja muotoilu voivat vaihdella sen mukaan, kuinka operaattoria käytetään, seuraava näyttää operaattorin perussyntaksin SELECT-käskyssä:
VALITSE sarake1, sarake2, ...FROM taulukon_nimi
WHERE sarakkeen_nimi LIKE 'etuliite%' ;
Annetussa syntaksissa:
- sarake1, sarake2, …: – Tämä edustaa sarakkeita, joista haluamme hakea tiedot.
- taulukon_nimi – Tämä asettaa taulukon nimen, josta haluamme kysyä.
- sarakkeen_nimi – Tämä määrittää sarakkeen nimen, jonka haluamme suodattaa.
- 'etuliite%' – Meillä on etuliite, jonka avulla voimme määrittää mallin, jota haluamme etsiä, jossa '%' edustaa nollaa tai useampaa merkkiä.
Käyttöesimerkki: Etsi elokuvat, jotka alkavat Z:llä
Katsotaanpa käytännön esimerkkejä tämän operaattorin käyttämisestä ymmärtämisen lisäämiseksi. Esittelytarkoituksiin käytämme MySQL Sakila -mallitietokantaa.
Voit vapaasti ladata ja asentaa sen tai käyttää omaa tietojoukkoasi.
Otetaan esimerkiksi Sakilan tietokannan ”filmi”-taulukko. Oletetaan, että haluamme selvittää minkä tahansa elokuvan, jonka nimi alkaa kirjaimella 'Z'. Voimme suorittaa kyselyn seuraavasti:
VALITSE otsikko, arvosanaFROM elokuvasta f
MISSÄ otsikko LIKE 'KANSSA%' ;
Tässä kyselyssä käytämme LIKE-operaattoria hakemaan tietueita, joissa elokuvan nimi alkaa kirjaimella 'Z'. Etuliitteessä käytämme kirjainta Z ja '%' jokerimerkkiä, joka tarkoittaa yhtä tai useampaa merkkiä.
Tuloksena oleva tulos on seuraava:
Johtopäätös
Tässä opetusohjelmassa opimme, kuinka voimme käyttää MySQL LIKE -operaattoria merkkien vastaavuuden suorittamiseen. Tämä sisältää '%' jokerimerkin käytön mallien etsimiseen sarakkeen arvon alusta.