MySQL Alias

yhteenveto: tässä opetusohjelmassa opit käyttämään MySQL-peitenimeä kyselyiden luettavuuden parantamiseksi.

MySQL tukee kahdenlaisia peitenimiä, jotka tunnetaan sarakeniminä ja taulukkoniminä.

MySQL-alias sarakkeille

joskus sarakkeiden nimet ovat niin teknisiä, että kyselyn lähtö on hyvin vaikea ymmärtää. Jos haluat antaa sarakkeelle kuvailevan nimen, voit käyttää sarakenimeä.

seuraava lausuma havainnollistaa, miten sarakenimeä käytetään:

Code language: SQL (Structured Query Language) (sql)

antaaksesi sarakkeelle peitenimen, käytät AS avainsanaa, jota seuraa peitenimi. Jos peitenimi sisältää välilyöntejä, se on lainattava seuraavasti:

Code language: SQL (Structured Query Language) (sql)

koska AS – hakusana on vapaaehtoinen, sen voi jättää pois lauseesta. Huomaa, että voit myös antaa ilmaisulle peitenimen.

katsotaan otostietokannan taulukkoa employees.

 palkansaajien taulukko

seuraavassa kyselyssä valitaan työntekijöiden etu-ja Sukunimet. Se käyttää CONCAT_WS() – funktiota yhdistääkseen etu-ja sukunimen kokonaisnimeksi.

Code language: SQL (Structured Query Language) (sql)

kokeile

MySQL-kysely ilman aliaksen esimerkkiä

sarakkeen otsikkoa on melko vaikea lukea. Voit ratkaista tämän, voit määrittää sarakkeen otsakkeen tulosteen sarakkeen alias kuten seuraavassa kyselyssä:

Code language: SQL (Structured Query Language) (sql)

kokeile

MySQL-sarakkeen Alias esimerkki

MySQL: ssä voit käyttää sarakenimeä ORDER BY, GROUP BY ja HAVINGlausekkeissa viitataksesi sarakkeeseen.

seuraavassa kyselyssä käytetään sarakenimeä ORDER BY lausekkeessa järjestelemään työntekijän koko nimi aakkosjärjestykseen:

Code language: SQL (Structured Query Language) (sql)

kokeile

MySQL-Alias esimerkkitilauksella

seuraava lausuma valitsee Tilaukset, joiden kokonaismäärä on suurempi kuin 60000. Se käyttää sarakenimiä lausekkeissa GROUP BY ja HAVING.

Code language: SQL (Structured Query Language) (sql)

kokeile sitä

MySQL Alias lausekkeella

huomaa, että WHERE lausekkeessa ei voi käyttää sarakenimeä. Syynä on se, että MySQL: n arvioidessa WHERE lauseketta SELECT lausekkeessa määriteltyjen sarakkeiden arvoja ei vielä arvioida.

MySQL-peitenimi taulukoille

voit käyttää peitenimeä antamaan taulukolle eri nimen. Annat taululle peitenimen käyttämällä AS – avainsanaa seuraavan syntaksin mukaisesti:

Code language: SQL (Structured Query Language) (sql)

pöydän peitenimeä kutsutaan pöytänimeksi. Kuten sarakenimi ,myös AS – hakusana on valinnainen, joten sen voi jättää pois.

tämä kysely näyttää ,miten employees taulun alias e annetaan:

Code language: SQL (Structured Query Language) (sql)

kun taulukolle on annettu alias, voit viitata taulukon sarakkeisiin seuraavalla syntaksilla:

Code language: SQL (Structured Query Language) (sql)

esimerkiksi:

Code language: SQL (Structured Query Language) (sql)

taulukon peitenimiä käytetään usein lausumassa, joka sisältää INNER JOIN, LEFT JOIN, RIGHT JOIN lausekkeet ja alaluokat.

Katsotaanpa customers ja orders taulukoita:

asiakas-ja Tilaustaulukot

molemmilla taulukoilla on sama sarakenimi:customerNumber.Jos et käytä taulukon peitenimeä customerNumber sarakkeen määrittelyyn, saat virheilmoituksen, kuten:

Code language: SQL (Structured Query Language) (sql)

välttääksesi tämän virheen, käytä taulukon peitenimeä customerNumber sarakkeen määrittelyyn:

Code language: SQL (Structured Query Language) (sql)

kokeile

MySQL-taulukko Alias esimerkki

yllä oleva kysely valitsee asiakkaan nimen ja tilausten määrän customers ja orders taulukoista. Se käyttää c taulukon peitenimenä customers taulukossa ja o taulukon peitenimenä orders taulukossa. Taulukoiden customers ja orders sarakkeisiin viitataan taulukon peitenimillä.

jos et käytä peitenimeä yllä olevassa kyselyssä, sinun on käytettävä taulukon nimeä viitataksesi sen sarakkeisiin, mikä tekee kyselystä pitkähkön ja vähemmän luettavan, kuten seuraavat:

Code language: SQL (Structured Query Language) (sql)

kokeile

tässä opetusohjelmassa olet oppinut käyttämään MySQL-peitenimiä, mukaan lukien sarakkeen ja taulukon peitenimet.

  • oliko tästä opetuksesta apua?
  • YesNo



+