MySQL Alias

Sammendrag: I denne opplæringen lærer Du Hvordan Du bruker MySQL alias for å forbedre lesbarheten av spørringene.

MySQL støtter to typer aliaser som er kjent som kolonne alias og tabell alias.

MySQL alias for kolonner

noen ganger er kolonnenavn så tekniske som gjør spørringsutgangen svært vanskelig å forstå. Hvis du vil gi en kolonne et beskrivende navn, kan du bruke et kolonnealias.

følgende setning illustrerer hvordan du bruker kolonnealiaset:

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

hvis du vil tilordne et alias til en kolonne, bruker du nøkkelordet AS etterfulgt av aliaset. Hvis aliaset inneholder mellomrom, må du sitere det som følgende:

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

fordi nøkkelordet AS er valgfritt, kan du utelate det i setningen. Merk at du også kan gi et uttrykk et alias.

La oss se på tabellen employees i eksempeldatabasen.

Ansatte Tabell

følgende spørring velger fornavn og etternavn for ansatte. Den bruker funksjonen CONCAT_WS() for å sette sammen fornavn og etternavn til fullt navn.

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

Prøv Det

 MySQL-spørring Uten Aliaseksempel

kolonneoverskriften er ganske vanskelig å lese. Hvis du vil løse dette, kan du tilordne kolonneoverskriften for utdata et kolonnealias som vist i følgende spørring:

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

Prøv Det

 MySQL Kolonnealias Eksempel

I MySQL kan du bruke kolonnealiaset i ORDER BY, GROUP BY og HAVINGklausulene for å referere til kolonnen.

følgende spørring bruker kolonnealiaset i ORDER BY – setningen til å sortere den ansattes fulle navn alfabetisk:

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

Prøv Det

 MySQL Alias MED REKKEFØLGE ved eksempel

følgende setning velger ordrene hvis totale beløp er større enn 60000. Den bruker kolonnealiaser i GROUP BY og HAVING klausuler.

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

Prøv Det

MySQL Alias med Uttrykk eksempel

Legg Merke til at du ikke kan bruke et kolonnealias i WHERE – klausulen. Årsaken er at Når MySQL evaluerer WHERE – klausulen, blir verdiene av kolonner angitt i SELECT – klausulen ikke evaluert ennå.

MySQL alias for tabeller

du kan bruke et alias for å gi en tabell et annet navn. Du tilordner en tabell et alias ved hjelp av nøkkelordet AS som følgende syntaks:

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

aliaset for en tabell kalles tabellalias. Som kolonnealiaset er AS søkeordet valgfritt, slik at du kan utelate det.

denne spørringen viser hvordan du tilordner employees tabellaliaset som e:

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

Når en tabell er tilordnet et alias, kan du referere til tabellkolonnene ved hjelp av følgende syntaks:

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

for eksempel:

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

tabellaliasene brukes ofte i setningen som inneholder INNER JOIN, LEFT JOIN, RIGHT JOIN klausuler og subqueries.

La oss se på customers og orders tabellene:

Tabeller For Kunder Og Bestillinger

begge tabellene har samme kolonnenavn:customerNumber.Uten å bruke tabellaliaset for å kvalifisere kolonnen customerNumber, får du en feilmelding som:

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

for å unngå denne feilen bruker du tabellalias til å kvalifisere customerNumber – kolonnen:

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

Prøv Det

 MySQL Tabellaliaseksempel

spørringen ovenfor velger kundenavn og antall bestillinger fra customers og orders tabellene. Den bruker c som et tabellalias for customers – tabellen og o som et tabellalias for orders – tabellen. Kolonnene i tabellene customers og orders refereres til via tabellaliasene.

hvis du ikke bruker aliaset i spørringen ovenfor, må du bruke tabellnavnet til å referere til kolonnene, noe som gjør spørringen lang og mindre lesbar som følgende:

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

Prøv Det

i denne opplæringen har du lært Hvordan Du bruker MySQL-aliaser, inkludert kolonne-og tabellaliaser.

  • Var denne opplæringen nyttig?
  • YesNo



+